@camera.ui/server 0.0.112 → 0.0.113
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-Dd3AyWdE.js → 404-CZtDF9in.js} +1 -1
- package/dist/interface/assets/{About-DAV31RZ5.js → About-BzuuHdW1.js} +1 -1
- package/dist/interface/assets/{Adminpanel-zLLSmbSt.js → Adminpanel-uj7eTmlN.js} +1 -1
- package/dist/interface/assets/{Automation-Dx--ghuY.js → Automation-D0ps_z9e.js} +2 -2
- package/dist/interface/assets/{AutomationImport-chsxrEfX.js → AutomationImport-CR4Vsxkb.js} +2 -2
- package/dist/interface/assets/AutomationStore-BcMX7WbG.js +2 -0
- package/dist/interface/assets/AutomationStoreDetail-D6Ugj8ba.js +2 -0
- package/dist/interface/assets/Automations-DBACrYHy.js +2 -0
- package/dist/interface/assets/{Camera-DVJbyl93.js → Camera-Cf4QZbsx.js} +2 -2
- package/dist/interface/assets/{CameraConsole-DOiCJAQS.js → CameraConsole-uD4aWou8.js} +1 -1
- package/dist/interface/assets/{Cameras-Dz7bZyRE.js → Cameras-DbBU5mou.js} +1 -1
- package/dist/interface/assets/{Camview-CBywGGI8.js → Camview-DD9jLT7-.js} +1 -1
- package/dist/interface/assets/{Config-BfijMggp.js → Config-B9jI0lTQ.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-B2xFxVNO.js → ConfigActionCameraControl-D4hJLWmj.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-hmTEfMw3.js → ConfigActionNotification-B5cCmBXr.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-BgKKvqAy.js → ConfigActionPlugin-B7YAbFlf.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-Du072tTI.js → ConfigActionSensor-D_Dt1qtt.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-9aGopbuJ.js → ConfigActionSnapshot-ClyCQuB3.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-D2IIsthA.js → ConfigConditionSensorState-x0M0kHwL.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-CYJOEkHi.js → ConfigTriggerDetection-DWjlecON.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-4t1aW1Iw.js → ConfigTriggerGeofence-CTqptMUN.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-CVzeR8ac.js → ConfigTriggerSensor-DuCtavZo.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-5TI9H8mj.js → ConfigTriggerSystem-D1oGAhLn.js} +1 -1
- package/dist/interface/assets/{Console-COaJF4Fu.js → Console-DrDqDUtO.js} +1 -1
- package/dist/interface/assets/{CuiAvatar-Drdaxxcm.js → CuiAvatar-of_eVQsv.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-ljGYA9W5.js → CuiBottomSheet-B7aQ7GCw.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-DKUg_g5x.js +1 -0
- package/dist/interface/assets/{CuiCameraCard-O22PEfyi.js → CuiCameraCard-IyJNZMGs.js} +1 -1
- package/dist/interface/assets/{CuiCameraPipCard-BDZ3W5sh.js → CuiCameraPipCard-KUBxGPoU.js} +1 -1
- package/dist/interface/assets/{CuiCameraRecordings-BWlxU4qP.js → CuiCameraRecordings-iWAFGo8e.js} +1 -1
- package/dist/interface/assets/{CuiCameraShares-BIXFV72I.js → CuiCameraShares-BCMYN11A.js} +1 -1
- package/dist/interface/assets/{CuiCameraSnapshot-BAwo37N7.js → CuiCameraSnapshot-DTtvEMy1.js} +1 -1
- package/dist/interface/assets/{CuiCameraTable-6tWx74Nl.js → CuiCameraTable-B7g53tPM.js} +1 -1
- package/dist/interface/assets/{CuiImage-KyBpvv-t.js → CuiImage-B97QDAl7.js} +1 -1
- package/dist/interface/assets/{CuiMenu-BBequFn_.js → CuiMenu-Ds6GufVn.js} +1 -1
- package/dist/interface/assets/{CuiPluginCard-Bnb0YKK1.js → CuiPluginCard-D1SylQbM.js} +2 -2
- package/dist/interface/assets/{CuiPluginOAuthButton-CvVnSP0h.js → CuiPluginOAuthButton-X8ZGFPwW.js} +2 -2
- package/dist/interface/assets/{CuiQRCode-Di0RLqfL.js → CuiQRCode-D_31ri5b.js} +1 -1
- package/dist/interface/assets/{CuiRecordingsGrid-DNw21B-r.js → CuiRecordingsGrid-CzMzhUXb.js} +1 -1
- package/dist/interface/assets/{CuiSchema-Cr90oo-T.js → CuiSchema-CfqOJmDH.js} +1 -1
- package/dist/interface/assets/{Faces-CFN1J-o4.js → Faces-IVmqcGuF.js} +1 -1
- package/dist/interface/assets/{FirstSteps-uzffNroi.js → FirstSteps-Boec1bzd.js} +1 -1
- package/dist/interface/assets/{Instances-CsAKq-HH.js → Instances-kmkRiBrV.js} +1 -1
- package/dist/interface/assets/{Logs-DKwNBSz9.js → Logs-DzR8mmLu.js} +1 -1
- package/dist/interface/assets/{Menu-Db1mi08W.js → Menu-Cl-biyd7.js} +1 -1
- package/dist/interface/assets/{OAuthDeviceFlow-B4cT3UTT.js → OAuthDeviceFlow-Cp9uZWm1.js} +1 -1
- package/dist/interface/assets/Plugin-CeLrucXT.js +1 -0
- package/dist/interface/assets/Plugin-Yv0ZmTNZ.css +1 -0
- package/dist/interface/assets/{PluginConsole-Bs9HqX_F.js → PluginConsole-BdbmROpF.js} +1 -1
- package/dist/interface/assets/PluginDetail-DKywYzmS.js +2 -0
- package/dist/interface/assets/PluginDetail-DbYxVe3g.css +1 -0
- package/dist/interface/assets/{PluginSchema-D3BCVJNa.js → PluginSchema-CWcq67pj.js} +1 -1
- package/dist/interface/assets/PluginSearch-BC1L0-VN.js +1 -0
- package/dist/interface/assets/PluginSearch-DCuLwE3v.js +2 -0
- package/dist/interface/assets/{PluginSearch-BOWQC1zl.css → PluginSearch-XjGr5qdW.css} +1 -1
- package/dist/interface/assets/{Plugins-DD8FPbtv.js → Plugins-DMLQY_6J.js} +1 -1
- package/dist/interface/assets/{Recordings-Bt8clj2R.js → Recordings--XaVJZJi.js} +1 -1
- package/dist/interface/assets/{Settings-Bj_41fdw.js → Settings-BljKDhYY.js} +1 -1
- package/dist/interface/assets/SettingsAccount-DFMOh1ci.js +1 -0
- package/dist/interface/assets/{SettingsAccount-CWVj8S8j.js → SettingsAccount-DKHO4mDj.js} +1 -1
- package/dist/interface/assets/SettingsAppearance-DzG2tlwK.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-DNaNlO1q.js → SettingsAppearance-V5aeQ9c8.js} +1 -1
- package/dist/interface/assets/{SettingsBackup-stUbnWJf.js → SettingsBackup-CfOHDar8.js} +1 -1
- package/dist/interface/assets/{SettingsNotifications-Do2Cy2yf.js → SettingsNotifications-BZ1IXj0a.js} +1 -1
- package/dist/interface/assets/{SettingsRecordings-DWX69m9b.js → SettingsRecordings-BsJ9z-RE.js} +1 -1
- package/dist/interface/assets/{SettingsRemote-RqXtq3dF.js → SettingsRemote-Bf8bqXYs.js} +1 -1
- package/dist/interface/assets/SettingsSystem-obAYrm8J.js +2 -0
- package/dist/interface/assets/{SettingsUsers-Cb6zolu8.js → SettingsUsers-Ciu1ry18.js} +1 -1
- package/dist/interface/assets/{Terminal-D2zkV1fJ.js → Terminal-CD9he5xW.js} +1 -1
- package/dist/interface/assets/VersionsHandler-Dpo-L314.js +7 -0
- package/dist/interface/assets/Workers-DCx1wSq5.css +1 -0
- package/dist/interface/assets/Workers-DiIBLgfr.js +2 -0
- package/dist/interface/assets/alert-circle-azHizGIK.js +1 -0
- package/dist/interface/assets/{api-CvihG9kg.js → api-CbBOEbKQ.js} +1 -1
- package/dist/interface/assets/api-aSYFKxo6.js +2 -0
- package/dist/interface/assets/api-vCJ1T8Ow.css +2 -0
- package/dist/interface/assets/{auth-BeYrbk7B.js → auth-cdPNNpNC.js} +1 -1
- package/dist/interface/assets/{automations-egbiXwMx.js → automations-E7vwN3kw.js} +1 -1
- package/dist/interface/assets/{backup-82y2bZBX.js → backup-Co1bwdSv.js} +1 -1
- package/dist/interface/assets/{cameras-DRRy289F.js → cameras-CvJDLEZ3.js} +1 -1
- package/dist/interface/assets/{cameras.schema-qOAUe-E9.js → cameras.schema-Clwro_L9.js} +1 -1
- package/dist/interface/assets/check-circle-BauXcL6H.js +1 -0
- package/dist/interface/assets/cloudHandoff-Bym-XqR1.js +1 -0
- package/dist/interface/assets/{deviceId-DXf6AlPA.js → deviceId-OXLTtG-_.js} +1 -1
- package/dist/interface/assets/{hasPermission-CPgoH1JH.js → hasPermission-P1TgpAur.js} +1 -1
- package/dist/interface/assets/{instances-Crs3gwnp.js → instances-DwnEOXk1.js} +1 -1
- package/dist/interface/assets/{locale-BCQeXbI8.js → locale-BWvy9Nlz.js} +1 -1
- package/dist/interface/assets/{main-D0vO1lt0.js → main-CIorSaV7.js} +2 -2
- package/dist/interface/assets/{notifications-AiaxATml.js → notifications-DHmx6O_s.js} +1 -1
- package/dist/interface/assets/platformLabels-D-cF6OTP.js +1 -0
- package/dist/interface/assets/{plugins-C_Mh_UEw.js → plugins-NVAodP6s.js} +1 -1
- package/dist/interface/assets/{round-restart-alt-BJAngKc7.js → round-restart-alt-c8MQjhLh.js} +1 -1
- package/dist/interface/assets/{router-C2x34pNg.js → router-i0r3QZvk.js} +2 -2
- package/dist/interface/assets/{server-GaO6jF81.js → server-CRxodRik.js} +1 -1
- package/dist/interface/assets/{shares-Cw2NYamp.js → shares-4w6GDwjp.js} +1 -1
- package/dist/interface/assets/{theme-cGiCxaXN.js → theme-DhaXe7yA.js} +1 -1
- package/dist/interface/assets/types-BXo-JDGR.js +1 -0
- package/dist/interface/assets/{useBiometricCredentials-CEmbsdFy.js → useBiometricCredentials-BGRyKe48.js} +1 -1
- package/dist/interface/assets/{useCameraOptions-quplvW_7.js → useCameraOptions-CO1HD_gL.js} +1 -1
- package/dist/interface/assets/{useCuiDialog-j9ybKsCK.js → useCuiDialog-DHktK-mZ.js} +1 -1
- package/dist/interface/assets/{useFileDownload-BcOErnCc.js → useFileDownload-Cp1oH80I.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-gXiAENMr.js → useLogsSocket-OnTDnkPr.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-bjptbs6u.js → useStreamStatus-N--czepD.js} +1 -1
- package/dist/interface/assets/{useUserOptions-CA-AJeEh.js → useUserOptions-CPkl1O0A.js} +1 -1
- package/dist/interface/assets/{users.schema-DaXV2Jq7.js → users.schema-BIL9DqRo.js} +1 -1
- package/dist/interface/assets/{view-grid-Coh7iX5e.js → view-grid-B0KB2pRf.js} +1 -1
- package/dist/interface/index.html +29 -29
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +1 -1
- package/dist/server/src/api/controllers/plugins.controller.js +16 -3
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/controllers/server.controller.js +3 -2
- package/dist/server/src/api/controllers/server.controller.js.map +1 -1
- package/dist/server/src/api/controllers/workers.controller.d.ts +9 -4
- package/dist/server/src/api/controllers/workers.controller.js +132 -9
- 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 +0 -14
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +29 -1
- package/dist/server/src/api/routes/workers.routes.js +61 -7
- package/dist/server/src/api/routes/workers.routes.js.map +1 -1
- package/dist/server/src/api/schemas/config.schema.d.ts +8 -2
- package/dist/server/src/api/schemas/config.schema.js +8 -1
- package/dist/server/src/api/schemas/config.schema.js.map +1 -1
- package/dist/server/src/api/schemas/remote.schema.d.ts +1 -1
- package/dist/server/src/api/schemas/workers.schema.d.ts +19 -0
- package/dist/server/src/api/schemas/workers.schema.js +19 -0
- package/dist/server/src/api/schemas/workers.schema.js.map +1 -1
- package/dist/server/src/api/services/plugins.service.d.ts +2 -0
- package/dist/server/src/api/services/plugins.service.js +25 -3
- package/dist/server/src/api/services/plugins.service.js.map +1 -1
- package/dist/server/src/api/services/server.service.d.ts +0 -2
- package/dist/server/src/api/services/server.service.js +0 -12
- package/dist/server/src/api/services/server.service.js.map +1 -1
- package/dist/server/src/api/services/workers.service.d.ts +15 -0
- package/dist/server/src/api/services/workers.service.js +95 -2
- package/dist/server/src/api/services/workers.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +37 -0
- package/dist/server/src/api/utils/cert.js +43 -9
- package/dist/server/src/api/utils/cert.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/server.d.ts +0 -2
- package/dist/server/src/api/websocket/nsp/server.js +1 -8
- package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/workers.d.ts +0 -3
- package/dist/server/src/api/websocket/nsp/workers.js +4 -17
- package/dist/server/src/api/websocket/nsp/workers.js.map +1 -1
- package/dist/server/src/camera/decoder/worker.d.ts +3 -0
- package/dist/server/src/camera/decoder/worker.js +55 -34
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/dist/server/src/main.js +5 -3
- package/dist/server/src/main.js.map +1 -1
- package/dist/server/src/manager/downloadManager.d.ts +6 -0
- package/dist/server/src/manager/downloadManager.js +162 -3
- package/dist/server/src/manager/downloadManager.js.map +1 -1
- package/dist/server/src/plugins/bundle.d.ts +2 -0
- package/dist/server/src/plugins/bundle.js +24 -0
- package/dist/server/src/plugins/bundle.js.map +1 -0
- package/dist/server/src/plugins/config-store.d.ts +16 -0
- package/dist/server/src/plugins/config-store.js +33 -0
- package/dist/server/src/plugins/config-store.js.map +1 -0
- package/dist/server/src/plugins/index.d.ts +1 -1
- package/dist/server/src/plugins/index.js +3 -17
- package/dist/server/src/plugins/index.js.map +1 -1
- package/dist/server/src/plugins/main-file.d.ts +2 -0
- package/dist/server/src/plugins/main-file.js +24 -0
- package/dist/server/src/plugins/main-file.js.map +1 -0
- package/dist/server/src/plugins/plugin.d.ts +0 -1
- package/dist/server/src/plugins/plugin.js +7 -25
- package/dist/server/src/plugins/plugin.js.map +1 -1
- package/dist/server/src/plugins/runtime/base.d.ts +23 -7
- package/dist/server/src/plugins/runtime/base.js +32 -29
- package/dist/server/src/plugins/runtime/base.js.map +1 -1
- package/dist/server/src/plugins/runtime/index.d.ts +2 -3
- package/dist/server/src/plugins/runtime/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 +24 -4
- package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/configDb.d.ts +15 -0
- package/dist/server/src/plugins/runtime/node/configDb.js +18 -0
- package/dist/server/src/plugins/runtime/node/configDb.js.map +1 -0
- package/dist/server/src/plugins/runtime/node/index.d.ts +2 -2
- package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/pluginApi.d.ts +2 -2
- package/dist/server/src/plugins/runtime/node/pluginApi.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +2 -0
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +5 -0
- package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/downloadManager.js +6 -2
- package/dist/server/src/plugins/runtime/node/proxy/downloadManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/fileServe.d.ts +13 -0
- package/dist/server/src/plugins/runtime/node/proxy/fileServe.js +82 -0
- package/dist/server/src/plugins/runtime/node/proxy/fileServe.js.map +1 -0
- package/dist/server/src/plugins/runtime/node/remoteUrls.d.ts +1 -0
- package/dist/server/src/plugins/runtime/node/remoteUrls.js +32 -0
- package/dist/server/src/plugins/runtime/node/remoteUrls.js.map +1 -0
- package/dist/server/src/plugins/runtime/node/storage.d.ts +2 -2
- package/dist/server/src/plugins/runtime/node/storage.js +1 -1
- package/dist/server/src/plugins/runtime/node/storage.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/storageController.d.ts +2 -2
- package/dist/server/src/plugins/runtime/node/storageController.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/child.py +16 -4
- package/dist/server/src/plugins/runtime/python/config_db.py +42 -0
- package/dist/server/src/plugins/runtime/python/index.d.ts +2 -2
- package/dist/server/src/plugins/runtime/python/index.js +3 -1
- package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/namespaces.py +2 -0
- package/dist/server/src/plugins/runtime/python/plugin_api.py +2 -2
- package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +5 -0
- package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +6 -0
- package/dist/server/src/plugins/runtime/python/remote_urls.py +42 -0
- package/dist/server/src/plugins/runtime/python/storage.py +2 -2
- package/dist/server/src/plugins/runtime/python/storage_controller.py +2 -2
- package/dist/server/src/plugins/types.d.ts +2 -1
- package/dist/server/src/plugins/types.js +1 -0
- package/dist/server/src/plugins/types.js.map +1 -1
- package/dist/server/src/plugins/worker.d.ts +8 -0
- package/dist/server/src/plugins/worker.js +104 -2
- package/dist/server/src/plugins/worker.js.map +1 -1
- package/dist/server/src/rpc/index.d.ts +2 -1
- package/dist/server/src/rpc/index.js +43 -23
- package/dist/server/src/rpc/index.js.map +1 -1
- package/dist/server/src/rpc/interfaces/download.d.ts +10 -0
- package/dist/server/src/rpc/namespaces.d.ts +5 -1
- package/dist/server/src/rpc/namespaces.js +12 -2
- package/dist/server/src/rpc/namespaces.js.map +1 -1
- package/dist/server/src/rpc/server.d.ts +16 -2
- package/dist/server/src/rpc/server.js +146 -17
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/rpc/utils.d.ts +1 -1
- package/dist/server/src/rpc/utils.js +2 -0
- package/dist/server/src/rpc/utils.js.map +1 -1
- package/dist/server/src/services/config/constants.js +4 -1
- package/dist/server/src/services/config/constants.js.map +1 -1
- package/dist/server/src/services/config/index.d.ts +1 -0
- package/dist/server/src/services/config/index.js +16 -10
- package/dist/server/src/services/config/index.js.map +1 -1
- package/dist/server/src/services/config/types.d.ts +5 -1
- package/dist/server/src/utils/platform.d.ts +2 -0
- package/dist/server/src/utils/platform.js +26 -0
- package/dist/server/src/utils/platform.js.map +1 -0
- package/dist/server/src/workers/agent.d.ts +15 -9
- package/dist/server/src/workers/agent.js +157 -64
- package/dist/server/src/workers/agent.js.map +1 -1
- package/dist/server/src/workers/capabilities/frame-decoding.d.ts +7 -3
- package/dist/server/src/workers/capabilities/frame-decoding.js +44 -10
- package/dist/server/src/workers/capabilities/frame-decoding.js.map +1 -1
- package/dist/server/src/workers/capabilities/handler.d.ts +1 -0
- package/dist/server/src/workers/capabilities/plugin-host.d.ts +23 -0
- package/dist/server/src/workers/capabilities/plugin-host.js +160 -0
- package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -0
- package/dist/server/src/workers/manager.d.ts +28 -3
- package/dist/server/src/workers/manager.js +316 -92
- package/dist/server/src/workers/manager.js.map +1 -1
- package/dist/server/src/workers/pairing.d.ts +3 -0
- package/dist/server/src/workers/pairing.js +80 -0
- package/dist/server/src/workers/pairing.js.map +1 -0
- package/dist/server/src/workers/types.d.ts +42 -17
- package/dist/server/src/workers/types.js +4 -0
- package/dist/server/src/workers/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/interface/assets/AutomationStore-BhL1O1qq.js +0 -2
- package/dist/interface/assets/AutomationStoreDetail-pW5g8G4I.js +0 -2
- package/dist/interface/assets/Automations-CQioiNmw.js +0 -2
- package/dist/interface/assets/CuiBottomSheet-CrsJjITg.js +0 -1
- package/dist/interface/assets/Plugin-BDwSHzi9.js +0 -1
- package/dist/interface/assets/Plugin-CHdZvbiP.css +0 -1
- package/dist/interface/assets/PluginDetail-B2odw9DA.css +0 -1
- package/dist/interface/assets/PluginDetail-C3j4zIxC.js +0 -2
- package/dist/interface/assets/PluginSearch-BLWXmn9w.js +0 -2
- package/dist/interface/assets/PluginSearch-BwG61G-G.js +0 -1
- package/dist/interface/assets/SettingsAccount-DnZKU_tM.js +0 -1
- package/dist/interface/assets/SettingsAppearance-k5WMN34x.js +0 -1
- package/dist/interface/assets/SettingsSystem-BZ14jaFr.js +0 -2
- package/dist/interface/assets/VersionsHandler-nZK8BEJK.js +0 -7
- package/dist/interface/assets/Workers-CKR9yslJ.js +0 -1
- package/dist/interface/assets/api-Cntxdwiu.js +0 -2
- package/dist/interface/assets/api-CrAOxyt8.css +0 -2
- package/dist/interface/assets/cloudHandoff-CiV159TL.js +0 -1
- package/dist/interface/assets/types-aZM1hCux.js +0 -1
- /package/dist/interface/assets/{error-256-DLKVOU2S.png → logo-512-DLKVOU2S.png} +0 -0
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { pathExists, readJson } from 'fs-extra/esm';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
import { WorkersService } from '../../api/services/workers.service.js';
|
|
4
|
+
import { extractBundledPlugin } from '../../plugins/bundle.js';
|
|
5
|
+
import { PluginManager } from '../../plugins/index.js';
|
|
6
|
+
import { resolvePluginMain } from '../../plugins/main-file.js';
|
|
7
|
+
import { RuntimeFactory } from '../../plugins/runtime/index.js';
|
|
8
|
+
import { extractPackage, installDependencies } from '../../utils/npm/index.js';
|
|
9
|
+
import { describePlatformRequirement, isPlatformCompatible } from '../../utils/platform.js';
|
|
10
|
+
import { WorkerCapability } from '../types.js';
|
|
11
|
+
const PROVISION_RETRY_MS = 30_000;
|
|
12
|
+
const CRASH_RESTART_MS = 5_000;
|
|
13
|
+
export class PluginHostHandler {
|
|
14
|
+
configService;
|
|
15
|
+
logger;
|
|
16
|
+
forwardLog;
|
|
17
|
+
capability = WorkerCapability.PluginHost;
|
|
18
|
+
plugins = new Map();
|
|
19
|
+
isClosed = false;
|
|
20
|
+
constructor(configService, logger, forwardLog) {
|
|
21
|
+
this.configService = configService;
|
|
22
|
+
this.logger = logger;
|
|
23
|
+
this.forwardLog = forwardLog;
|
|
24
|
+
}
|
|
25
|
+
async start(id, spec) {
|
|
26
|
+
const existing = this.plugins.get(id);
|
|
27
|
+
if (existing) {
|
|
28
|
+
await this.stop(id);
|
|
29
|
+
}
|
|
30
|
+
this.logger.log(`Hosting plugin: ${spec.displayName} (${spec.pluginName}@${spec.version})`);
|
|
31
|
+
const managed = { spec, stopped: false };
|
|
32
|
+
this.plugins.set(id, managed);
|
|
33
|
+
void this.provisionAndStart(managed);
|
|
34
|
+
}
|
|
35
|
+
async stop(id) {
|
|
36
|
+
const managed = this.plugins.get(id);
|
|
37
|
+
if (!managed) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
this.logger.log(`Stopping hosted plugin: ${managed.spec.displayName} (${id})`);
|
|
41
|
+
managed.stopped = true;
|
|
42
|
+
this.plugins.delete(id);
|
|
43
|
+
if (managed.retryTimer) {
|
|
44
|
+
clearTimeout(managed.retryTimer);
|
|
45
|
+
managed.retryTimer = undefined;
|
|
46
|
+
}
|
|
47
|
+
if (managed.runtime) {
|
|
48
|
+
await managed.runtime.stop();
|
|
49
|
+
managed.runtime.cleanup();
|
|
50
|
+
managed.runtime = undefined;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async stopAll() {
|
|
54
|
+
this.isClosed = true;
|
|
55
|
+
const stopPromises = Array.from(this.plugins.keys()).map((id) => this.stop(id));
|
|
56
|
+
await Promise.allSettled(stopPromises);
|
|
57
|
+
}
|
|
58
|
+
getActiveWorkIds() {
|
|
59
|
+
return Array.from(this.plugins.keys());
|
|
60
|
+
}
|
|
61
|
+
getActiveProcessIds() {
|
|
62
|
+
const pids = [];
|
|
63
|
+
for (const managed of this.plugins.values()) {
|
|
64
|
+
const pid = managed.runtime?.getPID();
|
|
65
|
+
if (pid) {
|
|
66
|
+
pids.push(pid);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return pids;
|
|
70
|
+
}
|
|
71
|
+
async provisionAndStart(managed) {
|
|
72
|
+
const { spec } = managed;
|
|
73
|
+
try {
|
|
74
|
+
const installPath = await this.ensureInstalled(spec);
|
|
75
|
+
if (managed.stopped || this.isClosed) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const plugin = await this.buildRuntimePlugin(spec, installPath);
|
|
79
|
+
const runtime = RuntimeFactory.createRuntime(plugin);
|
|
80
|
+
runtime.logForwarder = this.forwardLog;
|
|
81
|
+
runtime.once('exit', () => {
|
|
82
|
+
if (managed.stopped || this.isClosed) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
this.logger.warn(`Hosted plugin ${spec.displayName} exited — restarting in ${CRASH_RESTART_MS / 1000}s`);
|
|
86
|
+
this.scheduleRetry(managed, CRASH_RESTART_MS);
|
|
87
|
+
});
|
|
88
|
+
managed.runtime = runtime;
|
|
89
|
+
await runtime.start();
|
|
90
|
+
this.logger.log(`Hosted plugin started: ${spec.displayName} (${spec.pluginName}@${spec.version})`);
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
managed.runtime?.cleanup();
|
|
94
|
+
managed.runtime = undefined;
|
|
95
|
+
if (managed.stopped || this.isClosed) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
this.logger.error(`Failed to provision/start plugin ${spec.pluginName}: ${error.message} — retrying in ${PROVISION_RETRY_MS / 1000}s`);
|
|
99
|
+
this.scheduleRetry(managed, PROVISION_RETRY_MS);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
scheduleRetry(managed, delayMs) {
|
|
103
|
+
if (managed.retryTimer) {
|
|
104
|
+
clearTimeout(managed.retryTimer);
|
|
105
|
+
}
|
|
106
|
+
managed.retryTimer = setTimeout(() => {
|
|
107
|
+
managed.retryTimer = undefined;
|
|
108
|
+
if (managed.stopped || this.isClosed) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
void this.provisionAndStart(managed);
|
|
112
|
+
}, delayMs);
|
|
113
|
+
}
|
|
114
|
+
async ensureInstalled(spec) {
|
|
115
|
+
const installPath = join(this.configService.PLUGINS_INSTALL_PATH, spec.pluginName);
|
|
116
|
+
const installed = await readJson(join(installPath, 'package.json')).catch(() => null);
|
|
117
|
+
if (installed?.version !== spec.version) {
|
|
118
|
+
this.logger.log(`Installing ${spec.pluginName}@${spec.version} (was: ${installed?.version ?? 'not installed'})`);
|
|
119
|
+
await extractPackage(`${spec.pluginName}@${spec.version}`, installPath);
|
|
120
|
+
await installDependencies(installPath, (chunk) => this.logger.debug(chunk.toString().trim()));
|
|
121
|
+
await extractBundledPlugin(installPath);
|
|
122
|
+
}
|
|
123
|
+
return installPath;
|
|
124
|
+
}
|
|
125
|
+
async buildRuntimePlugin(spec, installPath) {
|
|
126
|
+
const pjson = (await readJson(join(installPath, 'package.json')));
|
|
127
|
+
if (!isPlatformCompatible(pjson.os, pjson.cpu)) {
|
|
128
|
+
throw new Error(`plugin requires ${describePlatformRequirement(pjson.os, pjson.cpu)}, this worker is ${process.platform}/${process.arch}`);
|
|
129
|
+
}
|
|
130
|
+
let main = resolvePluginMain(pjson);
|
|
131
|
+
let mainPath = join(installPath, dirname(main));
|
|
132
|
+
const bundlePackageJsonPath = join(installPath, 'bundle', 'package.json');
|
|
133
|
+
if (await pathExists(bundlePackageJsonPath)) {
|
|
134
|
+
const bundlePjson = (await readJson(bundlePackageJsonPath));
|
|
135
|
+
main = resolvePluginMain(bundlePjson);
|
|
136
|
+
mainPath = join(installPath, 'bundle', dirname(main));
|
|
137
|
+
}
|
|
138
|
+
const contractFile = await PluginManager.loadContractFile(installPath);
|
|
139
|
+
const pythonVersion = contractFile ? PluginManager.normalizeContract(contractFile, spec.pluginName).pythonVersion : undefined;
|
|
140
|
+
const masterAddress = new WorkersService().getWorkerConnection()?.master;
|
|
141
|
+
return {
|
|
142
|
+
id: spec.pluginId,
|
|
143
|
+
pluginName: spec.pluginName,
|
|
144
|
+
displayName: spec.displayName,
|
|
145
|
+
main,
|
|
146
|
+
mainPath,
|
|
147
|
+
installPath,
|
|
148
|
+
isPython: main.endsWith('.py'),
|
|
149
|
+
isGo: main.endsWith('.go'),
|
|
150
|
+
info: { installedVersion: pjson.version },
|
|
151
|
+
contract: { pythonVersion },
|
|
152
|
+
remoteEnv: {
|
|
153
|
+
CAMERAUI_MASTER_ADDRESS: masterAddress,
|
|
154
|
+
CAMERAUI_RTSP_USERNAME: spec.rtspUsername,
|
|
155
|
+
CAMERAUI_RTSP_PASSWORD: spec.rtspPassword,
|
|
156
|
+
},
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=plugin-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-host.js","sourceRoot":"","sources":["../../../../../src/workers/capabilities/plugin-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAS/C,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAClC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAS/B,MAAM,OAAO,iBAAiB;IAOT;IACA;IACA;IARH,UAAU,GAAG,gBAAgB,CAAC,UAAU,CAAC;IAEjD,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC3C,QAAQ,GAAG,KAAK,CAAC;IAEzB,YACmB,aAA4B,EAC5B,MAAc,EACd,UAAqC;QAFrC,kBAAa,GAAb,aAAa,CAAe;QAC5B,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAA2B;IACrD,CAAC;IAEG,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,IAAwB;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAE5F,MAAM,OAAO,GAAkB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAE9B,KAAK,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,EAAU;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,GAAG,CAAC,CAAC;QAE/E,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAExB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACjC,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;QACjC,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;QAC9B,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAChF,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAEM,gBAAgB;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAEM,mBAAmB;QACxB,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACtC,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAsB;QACpD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAEzB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACrD,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAEhE,MAAM,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACrD,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;gBACxB,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACrC,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,WAAW,2BAA2B,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC;gBACzG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC1B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YAEtB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACrG,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;YAE5B,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,OAAO,kBAAkB,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC;YACvI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,OAAsB,EAAE,OAAe;QAC3D,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;YAC/B,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,KAAK,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAwB;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAEnF,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACtF,IAAI,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,UAAU,SAAS,EAAE,OAAO,IAAI,eAAe,GAAG,CAAC,CAAC;YACjH,MAAM,cAAc,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;YACxE,MAAM,mBAAmB,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9F,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,IAAwB,EAAE,WAAmB;QAC5E,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAiB,CAAC;QAElF,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,mBAAmB,2BAA2B,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7I,CAAC;QAED,IAAI,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhD,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC1E,IAAI,MAAM,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC5C,MAAM,WAAW,GAAG,CAAC,MAAM,QAAQ,CAAC,qBAAqB,CAAC,CAAiB,CAAC;YAC5E,IAAI,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACtC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9H,MAAM,aAAa,GAAG,IAAI,cAAc,EAAE,CAAC,mBAAmB,EAAE,EAAE,MAAM,CAAC;QAEzE,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,QAAQ;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI;YACJ,QAAQ;YACR,WAAW;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC1B,IAAI,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,OAAO,EAAE;YACzC,QAAQ,EAAE,EAAE,aAAa,EAAE;YAC3B,SAAS,EAAE;gBACT,uBAAuB,EAAE,aAAa;gBACtC,sBAAsB,EAAE,IAAI,CAAC,YAAY;gBACzC,sBAAsB,EAAE,IAAI,CAAC,YAAY;aAC1C;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -3,28 +3,53 @@ export declare class WorkerManager {
|
|
|
3
3
|
private readonly logger;
|
|
4
4
|
private readonly configService;
|
|
5
5
|
private readonly camerasService;
|
|
6
|
+
private readonly workersService;
|
|
6
7
|
private readonly proxyServer;
|
|
7
8
|
private workers;
|
|
8
|
-
private
|
|
9
|
+
private desired;
|
|
10
|
+
private closeHeartbeatHandler?;
|
|
9
11
|
private unsubscribeDisconnect?;
|
|
12
|
+
private unsubscribeLogs?;
|
|
10
13
|
private timeoutCheckInterval?;
|
|
14
|
+
private addressWarned;
|
|
15
|
+
private workloadRevision;
|
|
16
|
+
private active;
|
|
11
17
|
constructor();
|
|
18
|
+
isEnabled(): boolean;
|
|
12
19
|
start(): Promise<void>;
|
|
20
|
+
enable(reconcileAcceptor?: boolean): Promise<void>;
|
|
21
|
+
disable(): Promise<void>;
|
|
13
22
|
stop(): Promise<void>;
|
|
23
|
+
private teardown;
|
|
14
24
|
getWorkers(): WorkerInfo[];
|
|
15
25
|
isWorkerOnline(agentId: string): boolean;
|
|
26
|
+
isWorkerKnown(agentId: string): boolean;
|
|
16
27
|
getAssignment(cameraId: string): string | undefined;
|
|
17
28
|
isAssignedToWorker(cameraId: string): boolean;
|
|
18
29
|
restartWorker(agentId: string): Promise<void>;
|
|
19
30
|
assignCamera(cameraId: string, agentId: string): Promise<void>;
|
|
20
31
|
unassignCamera(cameraId: string): Promise<void>;
|
|
21
|
-
|
|
22
|
-
|
|
32
|
+
noteWorkerPaired(agentId: string, name: string): Promise<void>;
|
|
33
|
+
assignPlugin(pluginName: string, agentId: string): Promise<void>;
|
|
34
|
+
unassignPlugin(pluginName: string): Promise<void>;
|
|
35
|
+
getPluginAssignment(pluginName: string): string | undefined;
|
|
36
|
+
removeWorker(agentId: string): Promise<void>;
|
|
37
|
+
desireFrameDecoding(cameraId: string): string | undefined;
|
|
38
|
+
clearFrameDecoding(cameraId: string): void;
|
|
39
|
+
desirePluginHost(pluginName: string): string | undefined;
|
|
40
|
+
clearPluginHost(pluginName: string): void;
|
|
41
|
+
private clearWorkload;
|
|
23
42
|
private createWorkerProxy;
|
|
43
|
+
private nudge;
|
|
44
|
+
private restartFrameWorker;
|
|
45
|
+
private restartPluginWorker;
|
|
24
46
|
private buildRemoteCameraConfig;
|
|
25
47
|
private handleHeartbeat;
|
|
48
|
+
private desiredFor;
|
|
49
|
+
private seedKnownWorkers;
|
|
26
50
|
private handleGracefulDisconnect;
|
|
27
51
|
private checkTimeouts;
|
|
52
|
+
private handleForwardedLog;
|
|
28
53
|
private emitWorkerUpdate;
|
|
29
54
|
private onWorkerOnline;
|
|
30
55
|
private onWorkerOffline;
|