@camera.ui/server 0.0.112 → 0.0.114
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-CDM4Q_tc.css → Camview-CS2a2okQ.css} +1 -1
- package/dist/interface/assets/{Camview-CBywGGI8.js → Camview-CoHrXLHW.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-Ct3W72Nu.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-BZDfWnB8.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-DiF8p_7h.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-6GfEM8TO.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 +1 -2
- package/dist/server/src/api/database/index.js +5 -19
- 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 +58 -36
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/dist/server/src/go2rtc/index.js +3 -2
- package/dist/server/src/go2rtc/index.js.map +1 -1
- package/dist/server/src/main.js +11 -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 +109 -3
- package/dist/server/src/plugins/worker.js.map +1 -1
- package/dist/server/src/remote/tunnel/client.js +3 -2
- package/dist/server/src/remote/tunnel/client.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 -3
- package/dist/server/src/rpc/server.js +150 -22
- 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/shutdown-state.d.ts +3 -0
- package/dist/server/src/shutdown-state.js +11 -0
- package/dist/server/src/shutdown-state.js.map +1 -0
- 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 +161 -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 @@
|
|
|
1
|
+
{"version":3,"file":"pairing.js","sourceRoot":"","sources":["../../../../src/workers/pairing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAYpE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,aAA4B,EAAE,MAAc;IACnF,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;IACjD,MAAM,MAAM,GAAG,YAAY,EAAE,MAAM,CAAC;IAEpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,cAAc,CAAC,mBAAmB,EAAE,CAAC;IACxD,MAAM,WAAW,GAAG,YAAY,EAAE,WAAW,CAAC;IAE9C,IAAI,UAAU,EAAE,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,WAAW,IAAI,WAAW,KAAK,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9F,OAAO;IACT,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,oFAAoF,CAAC,CAAC;IAC3I,CAAC;IAED,MAAM,UAAU,GAAG,YAAY,EAAE,IAAI,IAAI,QAAQ,CAAC;IAClD,MAAM,OAAO,GAAG,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,YAAY,EAAE,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;IAEnE,MAAM,CAAC,GAAG,CAAC,uBAAuB,MAAM,IAAI,OAAO,KAAK,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE;QAClD,IAAI,EAAE,WAAW;QACjB,OAAO;QACP,IAAI,EAAE,UAAU;KACjB,CAAC,CAAC;IAEH,cAAc,CAAC,oBAAoB,CAAC;QAClC,MAAM;QACN,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,sBAAsB,MAAM,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY,EAAE,IAAqD;IACpG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,OAAO,CACjB;YACE,IAAI;YACJ,IAAI;YACJ,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;aAC7C;YACD,0BAA0B;YAC1B,kBAAkB,EAAE,KAAK;YACzB,OAAO,EAAE,MAAM;SAChB,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;YAC3C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC3B,IAAI,OAAO,GAAG,8BAA8B,GAAG,CAAC,UAAU,EAAE,CAAC;oBAC7D,IAAI,CAAC;wBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC;oBAChD,CAAC;oBAAC,MAAM,CAAC;wBACP,sBAAsB;oBACxB,CAAC;oBACD,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC3B,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiB,CAAC,CAAC;gBAC5C,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,0BAA0B,IAAI,IAAI,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC1G,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAClF,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,25 +1,32 @@
|
|
|
1
1
|
export declare enum WorkerCapability {
|
|
2
|
-
FrameDecoding = "frameDecoding"
|
|
3
|
-
|
|
4
|
-
export interface WorkerConfig {
|
|
5
|
-
master: string;
|
|
6
|
-
port: number;
|
|
7
|
-
token: string;
|
|
8
|
-
name: string;
|
|
9
|
-
}
|
|
10
|
-
export interface MasterWorkersConfig {
|
|
11
|
-
enabled: boolean;
|
|
12
|
-
address: string;
|
|
13
|
-
port: number;
|
|
2
|
+
FrameDecoding = "frameDecoding",
|
|
3
|
+
PluginHost = "pluginHost"
|
|
14
4
|
}
|
|
15
5
|
export interface RemoteCameraConfig {
|
|
16
6
|
cameraId: string;
|
|
17
7
|
cameraName: string;
|
|
18
8
|
loggerLevel: string;
|
|
19
9
|
}
|
|
10
|
+
export interface RemotePluginConfig {
|
|
11
|
+
pluginId: string;
|
|
12
|
+
pluginName: string;
|
|
13
|
+
version: string;
|
|
14
|
+
displayName: string;
|
|
15
|
+
loggerLevel: string;
|
|
16
|
+
rtspUsername?: string;
|
|
17
|
+
rtspPassword?: string;
|
|
18
|
+
}
|
|
20
19
|
export interface CapabilitySpec {
|
|
21
20
|
[WorkerCapability.FrameDecoding]: RemoteCameraConfig;
|
|
21
|
+
[WorkerCapability.PluginHost]: RemotePluginConfig;
|
|
22
|
+
}
|
|
23
|
+
export interface WorkloadSpec<C extends WorkerCapability = WorkerCapability> {
|
|
24
|
+
id: string;
|
|
25
|
+
capability: C;
|
|
26
|
+
spec: CapabilitySpec[C];
|
|
27
|
+
revision: number;
|
|
22
28
|
}
|
|
29
|
+
export declare function workloadKey(capability: WorkerCapability, id: string): string;
|
|
23
30
|
export interface WorkerHealthInfo {
|
|
24
31
|
agentId: string;
|
|
25
32
|
name: string;
|
|
@@ -29,6 +36,10 @@ export interface WorkerHealthInfo {
|
|
|
29
36
|
cpuUsage?: number;
|
|
30
37
|
memoryUsage?: number;
|
|
31
38
|
}
|
|
39
|
+
export interface WorkerPlatform {
|
|
40
|
+
os: string;
|
|
41
|
+
arch: string;
|
|
42
|
+
}
|
|
32
43
|
export interface WorkerInfo {
|
|
33
44
|
agentId: string;
|
|
34
45
|
name: string;
|
|
@@ -36,9 +47,12 @@ export interface WorkerInfo {
|
|
|
36
47
|
lastHeartbeat: number;
|
|
37
48
|
cameras: string[];
|
|
38
49
|
capabilities: WorkerCapability[];
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
50
|
+
version?: string;
|
|
51
|
+
versionMismatch?: boolean;
|
|
52
|
+
platform?: WorkerPlatform;
|
|
53
|
+
pid?: number;
|
|
54
|
+
cpuLoad?: string;
|
|
55
|
+
memLoad?: string;
|
|
42
56
|
health?: WorkerHealthInfo;
|
|
43
57
|
}
|
|
44
58
|
export interface WorkerHeartbeat {
|
|
@@ -47,13 +61,24 @@ export interface WorkerHeartbeat {
|
|
|
47
61
|
cameras: string[];
|
|
48
62
|
uptime: number;
|
|
49
63
|
capabilities: WorkerCapability[];
|
|
64
|
+
version: string;
|
|
65
|
+
platform: WorkerPlatform;
|
|
50
66
|
pid: number;
|
|
51
67
|
cpuLoad: string;
|
|
52
68
|
memLoad: string;
|
|
53
69
|
}
|
|
70
|
+
export interface WorkerSyncResponse {
|
|
71
|
+
workloads: WorkloadSpec[];
|
|
72
|
+
}
|
|
73
|
+
export interface WorkerManagerRPC {
|
|
74
|
+
heartbeat(heartbeat: WorkerHeartbeat): Promise<WorkerSyncResponse>;
|
|
75
|
+
}
|
|
54
76
|
export interface WorkerAgentRPC {
|
|
55
|
-
startCamera(config: RemoteCameraConfig): Promise<void>;
|
|
56
|
-
stopCamera(cameraId: string): Promise<void>;
|
|
57
77
|
ping(): Promise<WorkerHealthInfo>;
|
|
58
78
|
restart(): Promise<void>;
|
|
59
79
|
}
|
|
80
|
+
export interface KnownWorker {
|
|
81
|
+
agentId: string;
|
|
82
|
+
name: string;
|
|
83
|
+
lastSeen: number;
|
|
84
|
+
}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export var WorkerCapability;
|
|
2
2
|
(function (WorkerCapability) {
|
|
3
3
|
WorkerCapability["FrameDecoding"] = "frameDecoding";
|
|
4
|
+
WorkerCapability["PluginHost"] = "pluginHost";
|
|
4
5
|
})(WorkerCapability || (WorkerCapability = {}));
|
|
6
|
+
export function workloadKey(capability, id) {
|
|
7
|
+
return `${capability}:${id}`;
|
|
8
|
+
}
|
|
5
9
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/workers/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/workers/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,mDAA+B,CAAA;IAC/B,6CAAyB,CAAA;AAC3B,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AA8BD,MAAM,UAAU,WAAW,CAAC,UAA4B,EAAE,EAAU;IAClE,OAAO,GAAG,UAAU,IAAI,EAAE,EAAE,CAAC;AAC/B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AutomationStoreDetail-pW5g8G4I.js","assets/vendor-cameraui-DgSMexWY.js","assets/rolldown-runtime-DAXXjFlN.js","assets/vendor-DoIl6acN.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/vendor-primevue-7iEzPOvf.js","assets/useCuiDialog-j9ybKsCK.js","assets/api-Cntxdwiu.js","assets/vendor-core-BKHiXSX7.js","assets/api-CrAOxyt8.css","assets/useSharedComposables-gpJ--qZh.js","assets/ui-DrzKhUXW.js","assets/close-DuwOOM-P.js","assets/useElectron-mh8HQUAI.js","assets/CuiImage-KyBpvv-t.js","assets/CuiImage-Bxf7z2N4.css","assets/plugins-C_Mh_UEw.js","assets/automations-egbiXwMx.js","assets/CuiPluginTrustBadge-YhfqGTyR.js","assets/shield-check-ChlSHOnR.js","assets/CuiPluginTrustBadge-QHTLaN1n.css","assets/account-DqOHQKv8.js","assets/types-6RvFwckU.js","assets/motion-sensor-DD8SfD-m.js","assets/bell-ring-CenQn4Yt.js","assets/webhook-Dgi5u5S_.js","assets/types-v-mK9gdq.css","assets/close-circle-ClG7lNzZ.js","assets/AutomationStoreDetail--egqUOqn.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{Hn as e,Kn as t,fi as n,lt as r,tt as i}from"./vendor-cameraui-DgSMexWY.js";import{Er as a,Sr as o,Vn as s,Wt as c,dn as l,fn as u,in as d,lr as f,mn as p,mr as m,nr as h,on as g,pn as _,rr as v,un as y,vn as b,xn as x,yn as S,zn as C}from"./vendor-DoIl6acN.js";import{t as w}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{F as T,J as E,P as D,U as O,j as k,s as A}from"./vendor-primevue-7iEzPOvf.js";import{t as j}from"./automation-IpK710bv.js";import{t as ee}from"./refresh-rounded-Bqiw9DUu.js";import{n as M,t as N}from"./useCuiDialog-j9ybKsCK.js";import{t as P}from"./automations-egbiXwMx.js";import{i as F,t as I}from"./CuiPluginTrustBadge-YhfqGTyR.js";import{t as L}from"./account-DqOHQKv8.js";import{a as R,i as z,n as B,r as V,t as H}from"./types-6RvFwckU.js";import{t as U}from"./search-D-QOrChC.js";var W={class:`automation-store-card-body`},G={class:`flex items-start gap-2 min-w-0`},K={class:`min-w-0 flex-1`},q={class:`flex items-center gap-2 min-w-0`},J={class:`font-medium text-base truncate`},Y={key:0,class:`automation-store-card-description`},X={class:`flex flex-wrap items-center gap-x-3 gap-y-1 mt-2`},Z={key:0,class:`automation-store-meta`},Q={key:1,class:`flex flex-wrap gap-1 mt-2`},$={key:2,class:`automation-store-inputs mt-auto pt-2`},te={class:`text-muted`},ne=w(x({__name:`CuiAutomationStoreCard`,props:{entry:{}},emits:[`open`],setup(e,{emit:t}){let r=e,i=t,{t:c}=n(),f=y(()=>H(r.entry.requiredInputs,c));function m(e){return e.replace(/([A-Z])/g,` $1`).trim()||e}return(t,n)=>{let r=I,c=B,h=V,y=L,x=F,w=E;return C(),p(`div`,{class:`automation-store-card shadow-sm transition-default card-background`,role:`button`,tabindex:`0`,onClick:n[0]||=t=>i(`open`,e.entry),onKeydown:n[1]||=d(t=>i(`open`,e.entry),[`enter`])},[l(`div`,W,[l(`div`,G,[l(`div`,K,[l(`div`,q,[l(`h4`,J,a(e.entry.title),1),S(r,{trust:`official`,"show-label":!1,class:`flex-shrink-0`})])]),e.entry.featured?v((C(),u(c,{key:0,class:`w-4 h-4 flex-shrink-0 text-primary`},null,512)),[[w,{value:t.$t(`components.automation_store.featured`)},void 0,{top:!0}]]):_(``,!0)]),e.entry.description?(C(),p(`p`,Y,a(e.entry.description),1)):_(``,!0),l(`div`,X,[S(h,{category:e.entry.category},null,8,[`category`]),e.entry.author?(C(),p(`span`,Z,[S(y,{class:`automation-store-meta-icon`}),b(` `+a(e.entry.author),1)])):_(``,!0)]),e.entry.requiredPlugins?.length?(C(),p(`div`,Q,[(C(!0),p(g,null,s(e.entry.requiredPlugins,e=>(C(),p(`span`,{key:e,class:`automation-store-plugin-chip`},[S(x,{class:`automation-store-meta-icon`}),b(` `+a(m(e)),1)]))),128))])):_(``,!0),o(f).length?(C(),p(`div`,$,[l(`span`,te,a(t.$t(`components.automation_store.needs`))+`:`,1),b(` `+a(o(f).join(`, `)),1)])):_(``,!0)])],32)}}}),[[`__scopeId`,`data-v-50879f29`]]),re={class:`flex flex-wrap gap-2 mt-4`},ie={key:0,class:`mt-6`},ae={class:`featured-row custom-scrollbar mt-3`},oe={class:`flex flex-row items-center justify-center w-full mt-8`},se={key:3,class:`w-full`},ce={key:4,class:`text-center py-10`},le={class:`text-muted mb-2`},ue={class:`text-muted`},de={key:5,class:`automation-store-list`},fe=w(x({__name:`AutomationStore`,setup(d,{expose:b}){let x=M(()=>c(()=>import(`./AutomationStoreDetail-pW5g8G4I.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]))),w=new P,F=N(),{t:I}=n(),L=m(!1),B=m(``),V=m(`all`),H=m(`featured`),{data:W,isBusy:G,refetch:K}=w.getAutomationStoreQuery(L),q=y(()=>[{label:I(`components.automation_store.filter_all_categories`),value:`all`},...R.map(e=>({label:I(z[e].labelKey),value:e}))]),J=y(()=>[{label:I(`components.automation_store.sort_featured`),value:`featured`},{label:I(`components.automation_store.sort_name`),value:`name`}]),Y=y(()=>{let e=(W.value??[]).slice(),t=B.value.toLowerCase().trim();return t&&(e=e.filter(e=>e.title.toLowerCase().includes(t)||(e.description??``).toLowerCase().includes(t)||(e.tags??[]).some(e=>e.toLowerCase().includes(t)))),V.value!==`all`&&(e=e.filter(e=>e.category===V.value)),e.sort((e,t)=>H.value===`featured`&&!!e.featured!=!!t.featured?e.featured?-1:1:e.title.localeCompare(t.title)),e}),X=y(()=>Y.value.filter(e=>e.featured)),Z=y(()=>Y.value.filter(e=>!e.featured));function Q(e){F.openComponentDialog(x,{data:{title:I(`components.dialog.title.details`),hideConfirmButton:!0,contentProps:{id:e.id}}})}function $(){L.value=!0,K().finally(()=>{L.value=!1})}return b({isLoading:G}),(n,c)=>{let d=U,m=D,y=i,b=T,x=k,w=ne,M=ee,N=e,P=t,F=A,I=O,L=r,R=j,z=E;return C(),p(`div`,null,[S(b,null,{default:h(()=>[S(m,null,{default:h(()=>[S(d,{class:`w-4 h-4`})]),_:1}),S(y,{modelValue:o(B),"onUpdate:modelValue":c[0]||=e=>f(B)?B.value=e:null,modelModifiers:{trim:!0},placeholder:n.$t(`components.automation_store.search`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),_:1}),l(`div`,re,[S(x,{modelValue:o(V),"onUpdate:modelValue":c[1]||=e=>f(V)?V.value=e:null,options:o(q),"option-label":`label`,"option-value":`value`,class:`flex-1 min-w-[140px]`,placeholder:n.$t(`components.automation_store.filter_category`)},null,8,[`modelValue`,`options`,`placeholder`]),S(x,{modelValue:o(H),"onUpdate:modelValue":c[2]||=e=>f(H)?H.value=e:null,options:o(J),"option-label":`label`,"option-value":`value`,class:`flex-1 min-w-[140px]`,placeholder:n.$t(`components.automation_store.sort_by`)},null,8,[`modelValue`,`options`,`placeholder`])]),!o(G)&&o(X).length?(C(),p(`div`,ie,[l(`h3`,null,a(n.$t(`components.automation_store.featured`)),1),l(`div`,ae,[(C(!0),p(g,null,s(o(X),e=>(C(),p(`div`,{key:e.id,class:`featured-item`},[S(w,{entry:e,onOpen:Q},null,8,[`entry`])]))),128))])])):_(``,!0),l(`div`,oe,[l(`h3`,null,a(n.$t(`components.automation_store.automations`)),1),v((C(),u(N,{text:``,rounded:``,severity:`secondary`,class:`cui-icon-md ml-auto`,onClick:$},{icon:h(()=>[S(M,{width:`100%`,height:`100%`})]),_:1})),[[z,{value:n.$t(`components.automation_store.refresh`)},void 0,{left:!0}]]),S(P,{size:`small`,class:`ml-2 rounded-full`,value:String(o(Z).length)},null,8,[`value`])]),o(G)?(C(),u(F,{key:1,mode:`indeterminate`,class:`my-3 !h-[1px]`})):(C(),u(I,{key:2,class:`m-0 py-3`})),o(G)?(C(),p(`div`,se,[(C(),p(g,null,s(4,e=>S(L,{key:e,class:`mb-2`,height:`120px`})),64))])):!o(Z).length&&!o(X).length?(C(),p(`div`,ce,[l(`div`,le,[S(R,{class:`w-12 h-12 mx-auto opacity-30`})]),l(`p`,ue,a(n.$t(`components.automation_store.empty`)),1)])):(C(),p(`div`,de,[(C(!0),p(g,null,s(o(Z),e=>(C(),u(w,{key:e.id,entry:e,onOpen:Q},null,8,[`entry`]))),128))]))])}}}),[[`__scopeId`,`data-v-316964e2`]]);export{fe as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AutomationImport-chsxrEfX.js","assets/vendor-cameraui-DgSMexWY.js","assets/rolldown-runtime-DAXXjFlN.js","assets/vendor-DoIl6acN.js","assets/vendor-core-BKHiXSX7.js","assets/vendor-primevue-7iEzPOvf.js","assets/useCuiDialog-j9ybKsCK.js","assets/api-Cntxdwiu.js","assets/api-CrAOxyt8.css","assets/useSharedComposables-gpJ--qZh.js","assets/ui-DrzKhUXW.js","assets/close-DuwOOM-P.js","assets/useElectron-mh8HQUAI.js","assets/CuiImage-KyBpvv-t.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/CuiImage-Bxf7z2N4.css","assets/plugins-C_Mh_UEw.js","assets/useCameraOptions-quplvW_7.js","assets/cameras-DRRy289F.js","assets/types-aZM1hCux.js","assets/vendor-zod-DycFxUhi.js","assets/automations-egbiXwMx.js","assets/useUserOptions-CA-AJeEh.js","assets/automationBlueprint-DMjszOs4.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{Vn as e,fi as t}from"./vendor-cameraui-DgSMexWY.js";import{$n as n,En as r,Er as i,Sr as a,Vn as o,Wt as s,dn as c,fn as l,mn as u,nr as ee,on as d,pn as f,rr as p,un as m,ur as h,vn as g,xn as _,yn as v,zn as y}from"./vendor-DoIl6acN.js";import{t as b}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{J as te,U as ne,z as x}from"./vendor-primevue-7iEzPOvf.js";import{n as S,t as C}from"./useCuiDialog-j9ybKsCK.js";import{t as w}from"./plugins-C_Mh_UEw.js";import{t as T}from"./automations-egbiXwMx.js";import{t as re}from"./CuiPluginTrustBadge-YhfqGTyR.js";import{t as ie}from"./account-DqOHQKv8.js";import{n as ae,r as oe,t as se}from"./types-6RvFwckU.js";import{t as E}from"./close-circle-ClG7lNzZ.js";var D={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function O(e,t){return y(),u(`svg`,D,[...t[0]||=[c(`path`,{fill:`currentColor`,d:`M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10s10-4.5 10-10S17.5 2 12 2m-2 15l-5-5l1.41-1.41L10 14.17l7.59-7.59L19 8z`},null,-1)]])}var k=h({name:`mdi-check-circle`,render:O}),A={class:`automation-store-detail`},j={key:0,class:`flex w-full items-center justify-center py-10`},M={class:`flex items-start gap-2 flex-wrap`},N={class:`text-xl font-semibold`},P={class:`flex flex-wrap items-center gap-2 mt-3`},F={key:0,class:`detail-meta`},I={key:0,class:`text-sm mt-4`},L={key:1,class:`flex flex-wrap gap-1 mt-3`},R={key:2},z={class:`text-base font-semibold mb-2`},B={class:`flex flex-col gap-1`},V={key:3,class:`mt-4`},H={class:`text-base font-semibold mb-2`},U={class:`flex flex-wrap gap-1`},W={key:2,class:`text-center py-10`},G={class:`text-muted`},K=b(_({__name:`AutomationStoreDetail`,props:{id:{}},setup(h,{expose:_}){let b=S(()=>s(()=>import(`./AutomationImport-chsxrEfX.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]))),D=new T,O=new w,K=h,ce=C(),{t:q}=t(),J=r(`dialogRefProps`),{data:Y,isBusy:X}=D.getAutomationStoreItemQuery(m(()=>K.id)),{data:le}=O.getPluginsQuery({page:1,pageSize:-1}),ue=m(()=>{let e=new Set;for(let t of le.value?.result??[])for(let n of t.contract?.interfaces??[])e.add(n);return e}),Z=m(()=>(Y.value?.requiredPlugins??[]).map(e=>({interface:e,label:e.replace(/([A-Z])/g,` $1`).trim()||e,installed:ue.value.has(e)}))),Q=m(()=>Z.value.some(e=>!e.installed)),$=m(()=>se(Y.value?.requiredInputs,q));function de(){Y.value&&ce.openComponentDialog(b,{data:{title:q(`components.automation_import.title`),confirmText:q(`components.automation_import.import`),contentProps:{blueprint:Y.value.blueprint}}})}return n(Y,e=>{e?(J.hideConfirmButton.value=!1,J.confirmText.value=q(`components.automation_store.import`)):J.hideConfirmButton.value=!0},{immediate:!0}),_({isLoading:X,onConfirm:de}),(t,n)=>{let r=e,s=re,m=ae,h=oe,_=ie,b=ne,S=k,C=E,w=x,T=te;return y(),u(`div`,A,[a(X)?(y(),u(`div`,j,[v(r,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):a(Y)?(y(),u(d,{key:1},[c(`div`,M,[c(`h2`,N,i(a(Y).title),1),v(s,{trust:`official`,"show-label":!1}),a(Y).featured?p((y(),l(m,{key:0,class:`w-5 h-5 text-primary`},null,512)),[[T,{value:t.$t(`components.automation_store.featured`)},void 0,{top:!0}]]):f(``,!0)]),c(`div`,P,[v(h,{category:a(Y).category},null,8,[`category`]),a(Y).author?(y(),u(`span`,F,[v(_,{class:`detail-meta-icon`}),g(` `+i(a(Y).author),1)])):f(``,!0)]),a(Y).description?(y(),u(`p`,I,i(a(Y).description),1)):f(``,!0),a(Y).tags?.length?(y(),u(`div`,L,[(y(!0),u(d,null,o(a(Y).tags,e=>(y(),u(`span`,{key:e,class:`detail-tag`},`#`+i(e),1))),128))])):f(``,!0),v(b),a(Z).length?(y(),u(`div`,R,[c(`h3`,z,i(t.$t(`components.automation_store.required_plugins`)),1),c(`div`,B,[(y(!0),u(d,null,o(a(Z),e=>(y(),u(`div`,{key:e.interface,class:`flex items-center gap-2 text-sm`},[e.installed?(y(),l(S,{key:0,class:`w-4 h-4 text-success`})):(y(),l(C,{key:1,class:`w-4 h-4 text-danger`})),c(`span`,null,i(e.label),1)]))),128))]),a(Q)?(y(),l(w,{key:0,severity:`warn`,variant:`simple`,size:`small`,class:`mt-2`},{default:ee(()=>[g(i(t.$t(`components.automation_store.missing_plugins_hint`)),1)]),_:1})):f(``,!0)])):f(``,!0),a($).length?(y(),u(`div`,V,[c(`h3`,H,i(t.$t(`components.automation_store.required_inputs`)),1),c(`div`,U,[(y(!0),u(d,null,o(a($),(e,t)=>(y(),u(`span`,{key:t,class:`detail-tag`},i(e),1))),128))])])):f(``,!0)],64)):(y(),u(`div`,W,[c(`p`,G,i(t.$t(`components.automation_store.not_found`)),1)]))])}}}),[[`__scopeId`,`data-v-49fb41b7`]]);export{K as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/AutomationStore-BhL1O1qq.js","assets/vendor-cameraui-DgSMexWY.js","assets/rolldown-runtime-DAXXjFlN.js","assets/vendor-DoIl6acN.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/vendor-primevue-7iEzPOvf.js","assets/automation-IpK710bv.js","assets/refresh-rounded-Bqiw9DUu.js","assets/useCuiDialog-j9ybKsCK.js","assets/api-Cntxdwiu.js","assets/vendor-core-BKHiXSX7.js","assets/api-CrAOxyt8.css","assets/useSharedComposables-gpJ--qZh.js","assets/ui-DrzKhUXW.js","assets/close-DuwOOM-P.js","assets/useElectron-mh8HQUAI.js","assets/CuiImage-KyBpvv-t.js","assets/CuiImage-Bxf7z2N4.css","assets/automations-egbiXwMx.js","assets/CuiPluginTrustBadge-YhfqGTyR.js","assets/shield-check-ChlSHOnR.js","assets/CuiPluginTrustBadge-QHTLaN1n.css","assets/account-DqOHQKv8.js","assets/types-6RvFwckU.js","assets/motion-sensor-DD8SfD-m.js","assets/bell-ring-CenQn4Yt.js","assets/webhook-Dgi5u5S_.js","assets/types-v-mK9gdq.css","assets/search-D-QOrChC.js","assets/AutomationStore-Q25Okhz8.css","assets/AutomationImport-chsxrEfX.js","assets/plugins-C_Mh_UEw.js","assets/useCameraOptions-quplvW_7.js","assets/cameras-DRRy289F.js","assets/types-aZM1hCux.js","assets/vendor-zod-DycFxUhi.js","assets/useUserOptions-CA-AJeEh.js","assets/automationBlueprint-DMjszOs4.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{Hn as e,ct as t,fi as n,lt as r,tt as i}from"./vendor-cameraui-DgSMexWY.js";import{T as a}from"./api-Cntxdwiu.js";import{$t as o,Er as s,Gn as c,Sr as l,Tr as u,Vn as d,Wt as f,Zn as p,an as m,dn as h,fn as g,lr as _,mn as v,mr as y,nr as b,on as x,pn as S,rr as C,un as w,ur as T,xn as E,yn as D,zn as O}from"./vendor-DoIl6acN.js";import{l as k}from"./vendor-core-BKHiXSX7.js";import{a as A,t as j}from"./useSharedComposables-gpJ--qZh.js";import{F as ee,J as M,K as N,P as te}from"./vendor-primevue-7iEzPOvf.js";import{t as ne}from"./automation-IpK710bv.js";import{t as re}from"./CuiFloatingButton-B5YMdr0X.js";import{t as P}from"./hasPermission-CPgoH1JH.js";import{n as F,t as ie}from"./useCuiDialog-j9ybKsCK.js";import{t as ae}from"./CuiTopbarSlot-ac4GLLbf.js";import{t as I}from"./delete-5a2q7_46.js";import{n as L}from"./types-BxFyoO54.js";import{t as oe}from"./automations-egbiXwMx.js";import{t as R}from"./nodeDefinitions-Dvawtk76.js";import{t as se}from"./search-D-QOrChC.js";import{t as ce}from"./back-filled-DqCMpeEk.js";import{t as le}from"./plus-BMt5ORD8.js";var z={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function B(e,t){return O(),v(`svg`,z,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2`},null,-1)]])}var V=T({name:`mdi-alert-circle`,render:B}),H={class:`flex items-center gap-3 p-4`},U={class:`flex-1 min-w-0`},W={class:`flex items-center gap-1.5`},G={class:`font-medium text-sm truncate text-color`},K={class:`text-xs text-muted mt-0.5`},ue=E({__name:`CuiAutomationFlowCard`,props:{flow:{}},emits:[`click`,`toggle`,`delete`],setup(r){let i=r,{t:a}=n(),o=w(()=>i.flow.nodes.find(e=>e.type?.startsWith(`trigger-`))),d=w(()=>{if(o.value?.type)return R(o.value.type)}),f=w(()=>d.value?.icon),p=w(()=>d.value?.color??L.trigger);function _(e){return new Date(e).toLocaleString()}return(n,i)=>{let o=V,d=N,v=I,y=e,x=t,w=M;return O(),g(x,{class:`cui-card cursor-pointer select-none`,onClick:i[3]||=e=>n.$emit(`click`)},{content:b(()=>[h(`div`,H,[h(`div`,{class:`flex items-center justify-center w-10 h-10 rounded-lg shrink-0`,style:u({backgroundColor:`${l(p)}20`,color:l(p)})},[(O(),g(c(l(f)),{class:`w-5 h-5`}))],4),h(`div`,U,[h(`div`,W,[h(`span`,G,s(r.flow.name),1),r.flow.requiresUpdate?C((O(),g(o,{key:0,class:`w-4 h-4 shrink-0 text-orange-500`},null,512)),[[w,l(a)(`views.automations.requires_update`)]]):S(``,!0)]),h(`div`,K,s(r.flow.lastRun?`${l(a)(`views.automations.last_run`)}: ${_(r.flow.lastRun.timestamp)}`:l(a)(`views.automations.never_run`)),1)]),D(d,{"model-value":r.flow.enabled,class:`shrink-0`,onClick:i[0]||=m(()=>{},[`stop`]),"onUpdate:modelValue":i[1]||=e=>n.$emit(`toggle`,e)},null,8,[`model-value`]),D(y,{severity:`danger`,text:``,rounded:``,class:`shrink-0 cui-icon-sm`,onClick:i[2]||=m(e=>n.$emit(`delete`),[`stop`])},{icon:b(()=>[D(v,{width:`100%`,height:`100%`})]),_:1})])]),_:1})}}}),q={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function J(e,t){return O(),v(`svg`,q,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M26 24v4H6v-4H4v4a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2v-4Zm0-10l-1.41-1.41L17 20.17V2h-2v18.17l-7.59-7.58L6 14l10 10z`},null,-1)]])}var de=T({name:`carbon-download`,render:J}),Y={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function X(e,t){return O(),v(`svg`,Y,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M11.9 10.9a6.53 6.53 0 0 0-1.9 4.6V12H4v4h6v-.5c0 .85.17 1.7.5 2.5H2v-6H1v-2l1-5h16l.89 4.46a6.47 6.47 0 0 0-6.99 1.44M18 2H2v2h16zm5.39 19L22 22.39l-3.12-3.07c-.69.43-1.51.68-2.38.68c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5s4.5 2 4.5 4.5c0 .88-.25 1.71-.69 2.4zM19 15.5a2.5 2.5 0 0 0-5 0a2.5 2.5 0 0 0 5 0`},null,-1)]])}var fe=T({name:`mdi-store-search`,render:X}),pe={class:`flex flex-col`},me={key:0,class:`page-title`},he={class:`flex gap-2 mb-4`},Z={key:`empty`,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4 py-20`},ge={class:`text-muted text-sm`},Q=350,_e=114,$=E({__name:`Automations`,setup(t){let c=F(()=>f(()=>import(`./AutomationStore-BhL1O1qq.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]))),m=F(()=>f(()=>import(`./AutomationImport-chsxrEfX.js`),__vite__mapDeps([30,1,2,3,10,5,8,9,11,12,13,14,15,16,4,17,31,32,33,34,35,18,36,37]))),T=new oe,E=k(),N=ie(),I=a(),{t:L}=n(),{smBreakpoint:R}=j(),{width:z,height:B}=A(),{data:V,isBusy:H}=T.getAutomationsQuery(),{mutateAsync:U}=T.patchAutomationQuery(),{mutateAsync:W,isPending:G}=T.deleteAutomationQuery(),K=y(``),q=p(`fileInputRef`),J=w(()=>P(void 0,`admin`)),Y=w(()=>V.value??[]),X=w(()=>(R.value?1:Math.max(1,Math.floor(z.value/Q)))*Math.max(1,Math.ceil(B.value/122))),$=w(()=>{let e=K.value.toLowerCase().trim();return e?Y.value.filter(t=>t.name.toLowerCase().includes(e)):Y.value});function ve(e){E.push(`/automations/${e}`)}function ye(){E.push(`/automations/new`)}function be(){N.openComponentDialog(c,{data:{title:L(`views.automations.browse_community`),contentProps:{},hideConfirmButton:!0,fullscreen:!0}})}function xe(e){N.openComponentDialog(m,{data:{title:L(`components.automation_import.title`),confirmText:L(`components.automation_import.import`),contentProps:{blueprint:e}}})}function Se(){q.value?.click()}async function Ce(e){let t=e.target.files?.[0];if(t){try{let e=await t.text(),n=JSON.parse(e);if(!n.version||!n.nodes||!n.edges){I.add({severity:`error`,detail:L(`views.automations.import_invalid`),life:3e3});return}xe(n)}catch{I.add({severity:`error`,detail:L(`views.automations.import_invalid`),life:3e3})}q.value&&(q.value.value=``)}}function we(e){N.openTextDialog({data:{title:L(`views.automations.delete`),contentText:L(`views.automations.delete_confirm`),confirmText:L(`views.automations.delete`),loading:G},onConfirm:async()=>{await W({id:e})}})}return(t,n)=>{let a=ce,c=e,f=ae,p=se,m=te,y=i,w=ee,T=fe,E=de,k=r,A=ue,j=ne,N=re,P=M;return O(),v(`div`,pe,[l(R)?S(``,!0):(O(),v(`h1`,me,s(l(L)(`views.automations.title`)),1)),D(f,{position:`left`},{default:b(()=>[D(c,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:n[0]||=e=>t.$router.push(`/menu`)},{icon:b(()=>[D(a,{class:`w-6 h-6`})]),_:1})]),_:1}),h(`div`,he,[D(w,{class:`flex-1`},{default:b(()=>[D(m,null,{default:b(()=>[D(p,{class:`w-4 h-4`})]),_:1}),D(y,{modelValue:l(K),"onUpdate:modelValue":n[1]||=e=>_(K)?K.value=e:null,placeholder:l(L)(`views.automations.search`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),_:1}),l(J)?C((O(),g(c,{key:0,severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:be},{icon:b(()=>[D(T,{class:`w-4.5 h-4.5`})]),_:1})),[[P,{value:l(L)(`views.automations.browse_community`)},void 0,{left:!0}]]):S(``,!0),C((O(),g(c,{severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:Se},{icon:b(()=>[D(E,{class:`w-4.5 h-4.5`})]),_:1})),[[P,{value:l(L)(`views.automations.import_blueprint`)}]]),h(`input`,{ref_key:`fileInputRef`,ref:q,type:`file`,accept:`.json`,class:`hidden`,onChange:Ce},null,544)]),D(o,{name:`fade-2`,mode:`out-in`},{default:b(()=>[l(H)?(O(),v(`div`,{key:`loading`,class:`grid w-full gap-2`,style:u({gridTemplateColumns:`repeat(auto-fill, minmax(${l(R)?`100%`:`${Q}px`}, 1fr))`})},[(O(!0),v(x,null,d(l(X),e=>(O(),g(k,{key:e,height:`${_e}px`,class:`cui-card`},null,8,[`height`]))),128))],4)):l($).length?(O(),v(`div`,{key:`content`,class:`grid w-full gap-2`,style:u({gridTemplateColumns:`repeat(auto-fill, minmax(${l(R)?`100%`:`${Q}px`}, 1fr))`})},[(O(!0),v(x,null,d(l($),e=>(O(),g(A,{key:e._id,flow:e,onClick:t=>ve(e._id),onToggle:t=>l(U)({id:e._id,data:{enabled:t}}),onDelete:t=>we(e._id)},null,8,[`flow`,`onClick`,`onToggle`,`onDelete`]))),128))],4)):(O(),v(`div`,Z,[D(j,{class:`w-12 h-12 text-muted`}),h(`span`,ge,s(l(L)(`views.automations.no_automations`)),1)]))]),_:1}),D(N,{"tooltip-props":{value:l(L)(`views.automations.create`)},"button-props":{class:`text-white`},icon:l(le),"icon-props":{width:`30px`,height:`30px`},onClick:ye},null,8,[`tooltip-props`,`icon`])])}}});export{$ as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./CuiBottomSheet-ljGYA9W5.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Hn as e,Mn as t,Nn as n,On as r,Ut as i,Vn as a,Wt as o,ct as s,fi as c,jn as l,tt as u}from"./vendor-cameraui-DgSMexWY.js";import{A as d,T as ee,d as f,m as p}from"./api-Cntxdwiu.js";import{$n as m,An as h,Cr as g,Er as _,Gn as te,Ln as v,Sr as y,Un as b,Vn as ne,Zn as x,_r as S,an as C,br as re,dn as w,fn as T,fr as E,gn as D,in as O,jn as k,lr as A,mn as j,mr as M,nr as N,on as P,pn as F,rr as I,un as L,ur as R,vn as ie,xn as z,yn as B,zn as V}from"./vendor-DoIl6acN.js";import{c as ae,f as H}from"./vendor-core-BKHiXSX7.js";import{t as U}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as oe}from"./useSharedComposables-gpJ--qZh.js";import{B as W,G,H as K,J as se,K as ce,V as le,W as ue,a as q,i as de,j as fe,u as pe}from"./vendor-primevue-7iEzPOvf.js";import{t as me}from"./cctv-BsGdaLfw.js";import{t as he}from"./bell-ChE83DC8.js";import{t as ge}from"./cog-Ce2a8uiA.js";import{t as _e}from"./hasPermission-CPgoH1JH.js";import{n as ve}from"./CuiMenu-BBequFn_.js";import{t as ye}from"./CuiBBoxPlayground-CIU5kteO.js";import{t as be}from"./cameras-DRRy289F.js";import{n as xe}from"./useCuiCameraDrawer-DnN9lwiy.js";import{t as Se}from"./useCuiDialog-j9ybKsCK.js";import{t as Ce}from"./CuiTopbarSlot-ac4GLLbf.js";import{F as J,G as Y,H as X,K as we,U as Te,W as Ee,a as De}from"./types-aZM1hCux.js";import{t as Oe}from"./CuiSchema-Cr90oo-T.js";import{t as ke}from"./plugins-C_Mh_UEw.js";import{t as Ae}from"./PluginSchema-D3BCVJNa.js";import{t as je}from"./plus-Dqgz6pez.js";import{t as Me}from"./close-circle-ClG7lNzZ.js";import{a as Ne,i as Pe,n as Fe,o as Ie,r as Le,t as Re}from"./vendor-markdown-UV_ycMZu.js";import{t as ze}from"./back-filled-DqCMpeEk.js";import{t as Be}from"./CuiPluginCard-Bnb0YKK1.js";var Z={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},Q={class:`flex flex-col gap-4`},$={class:`flex flex-col field-gap`},Ve={class:`cui-label`},He={key:0,class:`text-red-500 text-sm`},Ue={class:`flex flex-col field-gap`},We={class:`cui-label`},Ge={class:`flex flex-col field-gap`},Ke={class:`cui-label`},qe={class:`flex flex-col field-gap`},Je={class:`cui-label`},Ye={class:`flex flex-col field-gap`},Xe={class:`cui-label`},Ze={class:`flex flex-col field-gap`},Qe={class:`cui-label`},$e={class:`flex flex-col field-gap`},et={class:`cui-label`},tt={class:`flex flex-col field-gap`},nt={class:`cui-label`},rt={class:`mt-8`},it={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},at={key:0,class:`flex items-center justify-center w-full py-4`},ot={key:1,class:`flex items-center justify-center text-sm text-muted py-4 text-center`},st={key:2,class:`flex flex-col field-gap`},ct={class:`text-xs text-muted`},lt={key:0,class:`mt-8`},ut={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},dt=z({__name:`CuiNotificationInterface`,props:{pluginName:{}},setup(t){let n=t,o=d(),{t:s}=c(),l=ee(),{user:f}=H(p()),{pluginName:h}=re(n),{plugin:g}=i(h),te=L(()=>Object.values(r).map(e=>({label:s(`components.notification_interface.severity_${e}`),value:e}))),v=E({title:`Test notification`,subtitle:``,body:`This is a test notification from camera.ui`,severity:r.Info,tag:``,imageUrl:``,deepLink:``}),b=M([]),x=M(!1),C=M(!1),T=S([]),D=M(!1),O=M([]),k=S(),I=M(!1),R=L(()=>T.value.map(e=>({id:e.id,label:e.name})));async function ie(){if(!(!g.value||!f.value?._id)){D.value=!0;try{let e=_e(void 0,`admin`)?[]:[f.value._id];T.value=await g.value.getDevices?.(e)??[]}catch(e){o.error(`Failed to load notifier devices:`,e),T.value=[]}finally{D.value=!1}}}async function z(){if(g.value){I.value=!0;try{k.value=await g.value.notificationSettings?.()}catch(e){o.error(`Failed to load notification settings schema:`,e),k.value=void 0}finally{I.value=!1}}}function ae(){b.value.push({key:``,value:``})}function U(e){b.value.splice(e,1)}function oe(){let e={};for(let t of b.value)t.key.trim()&&(e[t.key.trim()]=t.value);return{title:v.title.trim(),subtitle:v.subtitle.trim()||void 0,body:v.body.trim()||void 0,severity:v.severity,tag:v.tag.trim()||void 0,imageUrl:v.imageUrl.trim()||void 0,deepLink:v.deepLink.trim()||void 0,data:Object.keys(e).length?e:void 0}}async function W(){let e=g.value;if(!(!e||C.value)){if(!v.title.trim()){x.value=!0;return}C.value=!0;try{let t=oe(),n=O.value.length?O.value:T.value.map(e=>e.id);await e.sendNotification?.(n,t),l.add({severity:`success`,detail:s(`components.notification_interface.sent`),life:3e3})}catch(e){l.add({severity:`error`,detail:e,life:3e3})}finally{C.value=!1}}}return m(g,e=>{e&&(ie(),z())},{immediate:!0}),(t,n)=>{let r=u,i=de,o=fe,s=Me,c=e,l=je,d=a,ee=pe,f=Oe;return V(),j(`div`,null,[w(`h3`,Z,_(t.$t(`components.notification_interface.template`)),1),w(`div`,Q,[w(`div`,$,[w(`label`,Ve,_(t.$t(`components.notification_interface.title`)),1),B(r,{modelValue:y(v).title,"onUpdate:modelValue":[n[0]||=e=>y(v).title=e,n[1]||=e=>x.value=!1],placeholder:t.$t(`components.notification_interface.title`),invalid:y(x),class:`w-full`},null,8,[`modelValue`,`placeholder`,`invalid`]),y(x)?(V(),j(`p`,He,_(t.$t(`components.notification_interface.title_required`)),1)):F(``,!0)]),w(`div`,Ue,[w(`label`,We,_(t.$t(`components.notification_interface.subtitle`)),1),B(r,{modelValue:y(v).subtitle,"onUpdate:modelValue":n[2]||=e=>y(v).subtitle=e,placeholder:t.$t(`components.notification_interface.subtitle`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),w(`div`,Ge,[w(`label`,Ke,_(t.$t(`components.notification_interface.body`)),1),B(i,{modelValue:y(v).body,"onUpdate:modelValue":n[3]||=e=>y(v).body=e,placeholder:t.$t(`components.notification_interface.body`),rows:`3`,class:`w-full`},null,8,[`modelValue`,`placeholder`])]),w(`div`,qe,[w(`label`,Je,_(t.$t(`components.notification_interface.severity`)),1),B(o,{modelValue:y(v).severity,"onUpdate:modelValue":n[4]||=e=>y(v).severity=e,options:y(te),"option-label":`label`,"option-value":`value`,class:`w-full`},null,8,[`modelValue`,`options`])]),w(`div`,Ye,[w(`label`,Xe,_(t.$t(`components.notification_interface.tag`)),1),B(r,{modelValue:y(v).tag,"onUpdate:modelValue":n[5]||=e=>y(v).tag=e,placeholder:`motion:cam-1`,class:`w-full`},null,8,[`modelValue`])]),w(`div`,Ze,[w(`label`,Qe,_(t.$t(`components.notification_interface.image_url`)),1),B(r,{modelValue:y(v).imageUrl,"onUpdate:modelValue":n[6]||=e=>y(v).imageUrl=e,placeholder:`https://…`,class:`w-full`},null,8,[`modelValue`])]),w(`div`,$e,[w(`label`,et,_(t.$t(`components.notification_interface.deep_link`)),1),B(r,{modelValue:y(v).deepLink,"onUpdate:modelValue":n[7]||=e=>y(v).deepLink=e,placeholder:`/cameras/cam-1`,class:`w-full`},null,8,[`modelValue`])]),w(`div`,tt,[w(`label`,nt,_(t.$t(`components.notification_interface.data`)),1),(V(!0),j(P,null,ne(y(b),(e,n)=>(V(),j(`div`,{key:n,class:`flex gap-2 items-center`},[B(r,{modelValue:e.key,"onUpdate:modelValue":t=>e.key=t,placeholder:t.$t(`components.notification_interface.data_key`),class:`flex-1 min-w-0`},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]),B(r,{modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,placeholder:t.$t(`components.notification_interface.data_value`),class:`flex-1 min-w-0`},null,8,[`modelValue`,`onUpdate:modelValue`,`placeholder`]),B(c,{text:``,rounded:``,severity:`danger`,class:`cui-icon-md shrink-0`,onClick:e=>U(n)},{icon:N(()=>[B(s,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])]))),128)),B(c,{severity:`secondary`,outlined:``,fluid:``,class:`cui-button-medium`,label:t.$t(`components.notification_interface.add_data`),onClick:ae},{icon:N(()=>[B(l,{class:`w-4 h-4`})]),_:1},8,[`label`])])]),w(`div`,rt,[w(`h3`,it,_(t.$t(`components.notification_interface.targets`)),1),y(D)?(V(),j(`div`,at,[B(d,{class:`w-[24px] h-[24px] m-0`,"stroke-width":`5`})])):y(R).length?(V(),j(`div`,st,[w(`span`,ct,_(t.$t(`components.notification_interface.targets_hint`)),1),B(ee,{modelValue:y(O),"onUpdate:modelValue":n[8]||=e=>A(O)?O.value=e:null,options:y(R),"option-label":`label`,"option-value":`id`,placeholder:t.$t(`components.notification_interface.all_devices`),display:`chip`,filter:``,class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`])])):(V(),j(`div`,ot,_(t.$t(`components.notification_interface.no_devices`)),1))]),y(k)?.length?(V(),j(`div`,lt,[w(`h3`,ut,_(t.$t(`components.notification_interface.settings`)),1),B(f,{"schema-form":{schema:y(k),config:{}},loading:y(I)},null,8,[`schema-form`,`loading`])])):F(``,!0),B(c,{fluid:``,class:`mt-8 cui-button-medium`,severity:`success`,loading:y(C),disabled:!y(g)||y(C),label:t.$t(`components.notification_interface.send_test`),onClick:W},null,8,[`loading`,`disabled`,`label`])])}}}),ft=.15,pt=.38,mt={class:`mb-4 rounded-xl overflow-hidden`},ht=[`src`],gt={class:`text-sm text-muted mb-4`},_t={key:0,class:`ml-1`},vt={class:`flex gap-2 mb-4`},yt={key:0,class:`flex flex-col gap-2`},bt={class:`text-sm truncate flex-1 mr-3`},xt={class:`flex items-center gap-2 shrink-0`},St=z({__name:`PluginClipInterface`,props:{src:{},response:{},onTextSearch:{type:Function}},setup(t,{expose:n}){let r=t,i=d(),a=M(``),o=M(!1),s=M([]);function c(e){return Math.max(0,Math.min(1,(e-ft)/(pt-ft)))}async function l(){let e=a.value.trim();if(!(!e||o.value)){o.value=!0;try{let{score:t}=await r.onTextSearch(e);s.value.unshift({query:e,rawScore:t,displayScore:c(t)}),a.value=``}catch(e){i.error(`CLIP text search failed:`,e)}finally{o.value=!1}}}return n({}),(n,r)=>{let i=u,c=e,d=q;return V(),j(`div`,null,[w(`div`,mt,[w(`img`,{src:t.src,alt:`CLIP test image`,class:`w-full object-contain`},null,8,ht)]),w(`div`,gt,[ie(_(t.response.embeddings.length)+` embedding(s), `+_(t.response.embeddings[0]?.embedding?.length??0)+`-dim `,1),t.response.embeddingModel?(V(),j(`span`,_t,`(`+_(t.response.embeddingModel)+`)`,1)):F(``,!0)]),w(`div`,vt,[B(i,{modelValue:y(a),"onUpdate:modelValue":r[0]||=e=>A(a)?a.value=e:null,class:`flex-1`,placeholder:n.$t(`components.clip_interface.enter_query`),onKeyup:O(l,[`enter`])},null,8,[`modelValue`,`placeholder`]),B(c,{class:`cui-button-medium`,label:n.$t(`components.clip_interface.search`),loading:y(o),onClick:l},null,8,[`label`,`loading`])]),y(s).length?(V(),j(`div`,yt,[(V(!0),j(P,null,ne(y(s),(e,t)=>(V(),j(`div`,{key:t,class:`flex items-center justify-between p-3 rounded-lg content-background`},[w(`span`,bt,_(e.query),1),w(`div`,xt,[w(`div`,{class:g([`text-sm font-medium`,e.displayScore>=.5?`text-green-500`:e.displayScore>=.25?`text-yellow-500`:`text-red-400`])},_((e.displayScore*100).toFixed(0))+`% `,3),B(d,{value:e.displayScore>=.5?`Match`:e.displayScore>=.25?`Possible`:`No match`,severity:e.displayScore>=.5?`success`:e.displayScore>=.25?`warn`:`danger`,class:`text-xs`},null,8,[`value`,`severity`])])]))),128))])):F(``,!0)])}}}),Ct=z({__name:`PluginMotionInterface`,props:{response:{}},setup(e){let{response:t}=re(e),n=x(`videoPlayerRef`);return v(()=>{if(n.value){let e=new Blob([t.value.videoData],{type:`video/mp4`});n.value.src=URL.createObjectURL(e),n.value.load()}}),(e,t)=>(V(),j(`div`,null,[w(`video`,{ref_key:`videoPlayerRef`,ref:n,controls:``,class:`w-full`},`Your browser does not support the video tag.`,512)]))}}),wt={class:`mb-5 h-min`},Tt=[`src`],Et=z({__name:`PluginObjectInterface`,props:{src:{},response:{}},setup(e){let{response:t,src:n}=re(e),r=L(()=>t.value.detections);return(e,t)=>{let i=ye;return V(),j(`div`,wt,[B(i,{detections:y(r)},null,8,[`detections`]),w(`img`,{src:y(n),alt:`Preview`,class:`w-full`},null,8,Tt)])}}}),Dt={key:0,class:`w-full`},Ot={class:`flex flex-col justify-center items-center mb-5`},kt={for:`restoreInput`,class:`cursor-pointer text-center text-sm`},At=[`accept`],jt={key:0,class:`text-red-500 text-sm`},Mt={key:1,class:`w-full flex flex-col items-center justify-center`},Nt={key:0,class:`relative mb-4`},Pt=[`src`],Ft={key:1,class:`relative mb-4 w-full`},It={key:2,class:`relative mb-4 w-full`},Lt=[`src`,`type`],Rt={class:`flex items-center justify-center`},zt={class:`mx-2`},Bt={class:`text-muted`},Vt={class:`flex items-center justify-center mt-2 text-xs text-muted`},Ht={class:`mt-10`},Ut={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},Wt={key:0,class:`flex items-center justify-center text-sm text-muted mt-5`},Gt=z({__name:`CuiDetectionInterface`,props:{type:{},pluginName:{}},emits:[`update:file`,`update:metadata`],setup(t,{emit:n}){let r=t,a=n,o=d(),{t:s}=c(),l=ee(),u=Se(),{type:f,pluginName:p}=re(r),{plugin:h,isLoading:te}=i(p),v=x(`fileInputRef`),b=x(`videoPlayerRef`),ne=x(`audioPlayerRef`),E=S([]),D=M(!1),O=M(!1),A=M(!1),P=M(!1),I=M(``),R=M(!1),z=M(),ae=M(!0),H=S(),U=M(!1),oe=L(()=>U.value||te.value||R.value),W=L(()=>{switch(f.value){case`objectDetection`:case`faceDetection`:case`licensePlateDetection`:case`classifierDetection`:case`clipDetection`:return`image`;case`motionDetection`:return`video`;case`audioDetection`:return`audio`;default:return`image`}}),G=L(()=>{switch(W.value){case`image`:return Ee;case`video`:return Te;case`audio`:return X;default:return[]}}),K=L(()=>{switch(W.value){case`image`:return J;case`video`:return we;case`audio`:return Y;default:return 0}}),se=L(()=>G.value.join(`,`));async function ce(){if(h.value){U.value=!0;try{let e;switch(f.value){case`motionDetection`:e=await h.value.motionDetectionSettings?.();break;case`objectDetection`:e=await h.value.objectDetectionSettings?.();break;case`audioDetection`:e=await h.value.audioDetectionSettings?.();break;case`faceDetection`:e=await h.value.faceDetectionSettings?.();break;case`licensePlateDetection`:e=await h.value.licensePlateDetectionSettings?.();break;case`classifierDetection`:e=await h.value.classifierDetectionSettings?.();break;case`clipDetection`:e=await h.value.clipSettings?.();break}H.value=e}catch(e){o.error(`Failed to load interface schema:`,e),H.value=void 0}finally{U.value=!1}}}function le(e){let t=E.value.findIndex(t=>t.name===e);t>-1&&(E.value.splice(t,1),de(),I.value=``,W.value===`video`&&b.value&&(b.value.src=``),z.value=void 0,a(`update:file`,null),a(`update:metadata`,null))}function ue(e){if(D.value=!1,O.value=!1,P.value=!1,E.value=[],e.dataTransfer)if(e.dataTransfer.files.length>1)O.value=!0;else{let t=e.dataTransfer.files[0];(G.value.length===0||G.value.includes(t.type))&&t.size<=K.value?(E.value.push(t),k(()=>{fe(t)})):t.size>K.value?P.value=!0:O.value=!0}}function q(e){O.value=!1,P.value=!1,E.value=[];let t=e.target;if(t&&t.files){if(t.files?.length>1)O.value=!0;else if(t.files.length===1){let e=t.files[0],n=G.value.length===0||G.value.includes(e.type);e.size<=K.value&&n?(E.value.push(e),k(()=>{fe(e)})):e.size>K.value?P.value=!0:O.value=!0}}}function de(){v.value&&(v.value.value=``)}function fe(e){R.value=!0;let t=URL.createObjectURL(e);switch(W.value){case`image`:pe(e,t);break;case`video`:me(e,t);break;case`audio`:he(e,t);break}}function pe(e,t){let n=new Image;n.src=t,n.onload=()=>{I.value=n.src;let t={width:n.width,height:n.height};z.value=t,a(`update:metadata`,t),a(`update:file`,e),R.value=!1}}function me(e,t){b.value&&(b.value.src=t,b.value.load(),b.value.onloadeddata=()=>{a(`update:file`,e),R.value=!1})}function he(e,t){I.value=t;let n=new Audio;n.src=t,n.onloadedmetadata=()=>{let t={mimeType:e.type};z.value=t,a(`update:metadata`,t),a(`update:file`,e),R.value=!1}}function ge(e){return e<1024?e+` bytes`:e<1048576?(e/1024).toFixed(1)+` KB`:(e/1048576).toFixed(1)+` MB`}function _e(e,t){let n=0,r=0,i=0;for(let a=0;a<e.length;a++)n+=e[a]*t[a],r+=e[a]*e[a],i+=t[a]*t[a];return r&&i?n/(Math.sqrt(r)*Math.sqrt(i)):0}async function ve(e){if(!E.value.length){A.value=!0;return}if(!h.value){o.error(`Plugin not connected`);return}R.value=!0;try{let t=await E.value[0].arrayBuffer();if(f.value===`audioDetection`){let n=await h.value.testAudioDetection?.(new Uint8Array(t),z.value,e);if(!n){o.warn(`No audio detection interface available`);return}if(n.detected&&n.detections?.length){let e=n.detections.map(e=>`${e.label} (${Math.round(e.confidence*100)}%)`).join(`, `),t=n.decibels==null?``:` | ${n.decibels.toFixed(1)} dBFS`;l.add({severity:`success`,detail:`${e}${t}`,life:3e3})}else l.add({severity:`info`,detail:s(`components.detection_interface.audio_not_detected`),life:3e3})}else if(f.value===`motionDetection`){let n=await h.value.testMotionDetection?.(new Uint8Array(t),e);if(!n){o.warn(`No motion detection interface available`);return}u.openComponentDialog(Ct,{data:{title:s(`components.dialog.title.result`),hideConfirmButton:!0,contentProps:{response:n}}})}else if(f.value===`faceDetection`){let n=await h.value.testFaceDetection?.(new Uint8Array(t),z.value,e);if(!n){o.warn(`No face detection interface available`);return}u.openComponentDialog(Et,{data:{title:s(`components.dialog.title.result`),hideConfirmButton:!0,contentProps:{src:I,response:n}}})}else if(f.value===`licensePlateDetection`){let n=await h.value.testLicensePlateDetection?.(new Uint8Array(t),z.value,e);if(!n){o.warn(`No license plate detection interface available`);return}u.openComponentDialog(Et,{data:{title:s(`components.dialog.title.result`),hideConfirmButton:!0,contentProps:{src:I,response:n}}})}else if(f.value===`classifierDetection`){let n=await h.value.testClassifierDetection?.(new Uint8Array(t),z.value,e);if(!n){o.warn(`No classifier detection interface available`);return}u.openComponentDialog(Et,{data:{title:s(`components.dialog.title.result`),hideConfirmButton:!0,contentProps:{src:I,response:n}}})}else if(f.value===`clipDetection`){let n=await h.value.testClipEmbedding?.(new Uint8Array(t),z.value,e);if(!n){o.warn(`No CLIP detection interface available`);return}if(!n.embeddings?.length){l.add({severity:`info`,detail:s(`components.detection_interface.no_detections`),life:3e3});return}let r=n.embeddings[0].embedding;u.openComponentDialog(St,{data:{title:s(`components.dialog.title.result`),hideConfirmButton:!0,contentProps:{src:I,response:n,onTextSearch:async e=>{let t=await h.value.getTextEmbedding(e);return t?.embedding?.length?{score:_e(r,t.embedding)}:{score:0}}}}})}else{let n=await h.value.testObjectDetection?.(new Uint8Array(t),z.value,e);if(!n){o.warn(`No object detection interface available`);return}u.openComponentDialog(Et,{data:{title:s(`components.dialog.title.result`),hideConfirmButton:!0,contentProps:{src:I,response:n}}})}}catch(e){l.add({severity:`error`,detail:e,life:3e3})}finally{R.value=!1}}return m(h,e=>{e&&ce()},{immediate:!0}),m(E,e=>{e.length>0?(A.value=!1,ae.value=!1):(I.value=``,z.value=void 0,ae.value=!0)},{immediate:!0,deep:!0}),(t,n)=>{let r=Me,i=e,a=Oe;return V(),j(`div`,null,[w(`div`,{class:`file-upload-box`,onDrop:n[1]||=C(e=>ue(e),[`prevent`]),onDragover:n[2]||=C(e=>D.value=!0,[`prevent`]),onDragenter:n[3]||=C(e=>D.value=!0,[`prevent`]),onDragleave:n[4]||=C(e=>D.value=!1,[`prevent`])},[y(E).length?(V(),j(`div`,Mt,[y(W)===`image`?(V(),j(`div`,Nt,[w(`img`,{src:y(I),alt:`Preview`,class:`w-full`},null,8,Pt)])):y(W)===`video`?(V(),j(`div`,Ft,[w(`video`,{ref_key:`videoPlayerRef`,ref:b,controls:``,class:`w-full`},`Your browser does not support the video tag.`,512)])):y(W)===`audio`?(V(),j(`div`,It,[w(`audio`,{ref_key:`audioPlayerRef`,ref:ne,controls:``,class:`w-full`},[w(`source`,{src:y(I),type:y(E)[0].type},null,8,Lt),n[5]||=ie(` Your browser does not support the audio element. `,-1)],512)])):F(``,!0),w(`div`,Rt,[B(i,{text:``,rounded:``,severity:`danger`,class:`cui-icon-md shrink-0`,onClick:n[0]||=C(e=>le(y(E)[0].name),[`stop`])},{icon:N(()=>[B(r,{width:`100%`,height:`100%`})]),_:1}),w(`b`,zt,_(y(E)[0].name),1),w(`span`,Bt,`(`+_(ge(y(E)[0].size))+`)`,1)])])):(V(),j(`div`,Dt,[w(`div`,Ot,[w(`label`,kt,_(t.$t(`components.detection_interface.drop_or_select_${y(W)}_to_detect${y(W)===`image`?`_objects`:y(W)===`video`?`_motion`:``}`)),1),w(`input`,{id:`restoreInput`,ref_key:`fileInputRef`,ref:v,type:`file`,class:`hidden`,accept:y(se),onChange:q},null,40,At),y(O)?(V(),j(`p`,jt,_(t.$t(`components.detection_interface.only_one_${y(W)}_allowed`)),1)):F(``,!0),y(A)?(V(),j(`p`,{key:1,class:g([`text-red-500 text-sm`,{"mt-2":y(O)}])},_(t.$t(`components.detection_interface.${y(W)}_required`)),3)):F(``,!0),y(P)?(V(),j(`p`,{key:2,class:g([`text-red-500 text-sm`,{"mt-2":y(O)||y(A)}])},_(t.$t(`components.detection_interface.file_size_error`)),3)):F(``,!0)])]))],32),w(`div`,Vt,[w(`span`,null,`(`+_(y(K)/1024/1024)+`MB, `+_(y(G).join(`, `))+`)`,1)]),w(`div`,Ht,[w(`h3`,Ut,_(t.$t(`components.detection_interface.interface_config`)),1),y(H)?.length?(V(),T(a,{key:1,"schema-form":{schema:y(H),config:{}},loading:y(oe),"save-button-label":t.$t(`components.detection_interface.detect`),"disable-button":y(ae),"show-button":``,onOnFormSubmit:ve},null,8,[`schema-form`,`loading`,`save-button-label`,`disable-button`])):(V(),j(`div`,Wt,_(t.$t(`components.detection_interface.no_interface_config`)),1))])])}}}),Kt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function qt(e,t){return V(),j(`svg`,Kt,[...t[0]||=[w(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M2 10v3m4-7v11m4-14v18m4-13v7m4-10v13m4-8v3`},null,-1)]])}var Jt=R({name:`lucide-audio-lines`,render:qt}),Yt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Xt(e,t){return V(),j(`svg`,Yt,[...t[0]||=[w(`path`,{fill:`currentColor`,d:`M2 7V4q0-.825.588-1.412T4 2h3v2H4v3zm5 15H4q-.825 0-1.412-.587T2 20v-3h2v3h3zm10 0v-2h3v-3h2v3q0 .825-.587 1.413T20 22zm3-15V4h-3V2h3q.825 0 1.413.588T22 4v3zm-7.913 1.913Q11.5 8.325 11.5 7.5t.588-1.412T13.5 5.5t1.413.588T15.5 7.5t-.587 1.413T13.5 9.5t-1.412-.587M12.8 18h-4l1-5.1l-1.8.7V17H6v-4.7l3.95-1.7q.875-.375 1.288-.487T12 10q.525 0 .975.275T13.7 11l1 1.6q.65 1.05 1.763 1.725T19 15v2q-1.65 0-3.088-.687T13.5 14.5z`},null,-1)]])}var Zt=R({name:`material-symbols-detection-and-zone`,render:Xt}),Qt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function $t(e,t){return V(),j(`svg`,Qt,[...t[0]||=[w(`path`,{fill:`currentColor`,d:`M8.113 13.888Q7.75 13.525 7.75 13t.363-.888T9 11.75t.888.363t.362.887t-.363.888T9 14.25t-.888-.363m6 0q-.362-.362-.362-.887t.363-.888t.887-.362t.888.363t.362.887t-.363.888t-.887.362t-.888-.363M12 20q3.35 0 5.675-2.325T20 12q0-.6-.075-1.162T19.65 9.75q-.525.125-1.05.188T17.5 10q-2.275 0-4.3-.975T9.75 6.3q-.8 1.95-2.287 3.388T4 11.85V12q0 3.35 2.325 5.675T12 20m0 2q-2.075 0-3.9-.787t-3.175-2.138T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22`},null,-1)]])}var en=R({name:`material-symbols-face`,render:$t}),tn={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function nn(e,t){return V(),j(`svg`,tn,[...t[0]||=[w(`path`,{fill:`currentColor`,d:`M8 17q-.425 0-.712-.288T7 16t.288-.712T8 15h5q-.35-.425-.562-.925T12.1 13H10q-.425 0-.712-.288T9 12t.288-.712T10 11h2.1q.125-.575.338-1.075T13 9H4q-.425 0-.712-.288T3 8t.288-.712T4 7h13q2.075 0 3.538 1.463T22 12t-1.463 3.538T17 17zm9-2q1.25 0 2.125-.875T20 12t-.875-2.125T17 9t-2.125.875T14 12t.875 2.125T17 15M3 13q-.425 0-.712-.288T2 12t.288-.712T3 11h4q.425 0 .713.288T8 12t-.288.713T7 13zm1 4q-.425 0-.712-.288T3 16t.288-.712T4 15h1q.425 0 .713.288T6 16t-.288.713T5 17z`},null,-1)]])}var rn=R({name:`material-symbols-motion-blur-rounded`,render:nn}),an={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function on(e,t){return V(),j(`svg`,an,[...t[0]||=[w(`g`,{fill:`none`,"fill-rule":`evenodd`},[w(`path`,{d:`m12.594 23.258l-.012.002l-.071.035l-.02.004l-.014-.004l-.071-.036q-.016-.004-.024.006l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.016-.018m.264-.113l-.014.002l-.184.093l-.01.01l-.003.011l.018.43l.005.012l.008.008l.201.092q.019.005.029-.008l.004-.014l-.034-.614q-.005-.019-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.003-.011l.018-.43l-.003-.012l-.01-.01z`}),w(`path`,{fill:`currentColor`,d:`M15.586 2.757a2 2 0 0 1 2.828 0l2.829 2.829a2 2 0 0 1 0 2.828l-2.829 2.829a2 2 0 0 1-2.828 0l-2.829-2.829a2 2 0 0 1 0-2.828zM9 3a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm12 12a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2zM9 13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2z`})],-1)]])}var sn=R({name:`mingcute-classify-2-fill`,render:on}),cn={viewBox:`0 0 256 256`,width:`1.2em`,height:`1.2em`};function ln(e,t){return V(),j(`svg`,cn,[...t[0]||=[w(`path`,{fill:`currentColor`,d:`M200 156c0 6.5-7.33 12-16 12s-16-5.5-16-12s7.33-12 16-12s16 5.5 16 12m32-100v144a16 16 0 0 1-16 16H40a16 16 0 0 1-16-16V56a16 16 0 0 1 16-16h176a16 16 0 0 1 16 16m-88.63 116.88l-44-104a8 8 0 0 0-14.74 0l-44 104a8 8 0 0 0 14.74 6.24L66.84 152h50.32l11.47 27.12a8 8 0 0 0 14.74-6.24M216 124c0-15.44-14.36-28-32-28a34.86 34.86 0 0 0-20.78 6.68a8 8 0 0 0 9.56 12.83A18.84 18.84 0 0 1 184 112c8.56 0 15.8 5.36 16 11.76v8a35.24 35.24 0 0 0-16-3.76c-17.64 0-32 12.56-32 28s14.36 28 32 28a35.1 35.1 0 0 0 16.93-4.26A8 8 0 0 0 216 176ZM73.61 136h36.78L92 92.53Z`},null,-1)]])}var un=R({name:`ph-text-aa-fill`,render:ln}),dn={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function fn(e,t){return V(),j(`svg`,dn,[...t[0]||=[w(`path`,{fill:`currentColor`,d:`M12.75 3a.75.75 0 0 0-1.5 0v2a.75.75 0 0 0 1.5 0z`},null,-1),w(`path`,{fill:`currentColor`,"fill-rule":`evenodd`,d:`M22.75 12.057c0 1.837 0 3.293-.153 4.432c-.158 1.172-.49 2.121-1.238 2.87c-.749.748-1.698 1.08-2.87 1.238c-1.14.153-2.595.153-4.433.153H9.944c-1.837 0-3.293 0-4.432-.153c-1.172-.158-2.121-.49-2.87-1.238c-.748-.749-1.08-1.698-1.238-2.87c-.153-1.14-.153-2.595-.153-4.433v-.926q.001-.575.008-1.096c.014-.975.05-1.81.145-2.523c.158-1.172.49-2.121 1.238-2.87c.749-.748 1.698-1.08 2.87-1.238c.716-.096 1.558-.132 2.541-.145l.697-.005a1 1 0 0 1 1.001.999V5a2.25 2.25 0 0 0 4.5 0v-.75c0-.552.448-1 1-.998c1.29.006 2.359.033 3.239.151c1.172.158 2.121.49 2.87 1.238c.748.749 1.08 1.698 1.238 2.87c.153 1.14.153 2.595.153 4.433zM8 9.75a.75.75 0 0 0 0 1.5h8a.75.75 0 0 0 0-1.5zm0 3.5a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5z`,"clip-rule":`evenodd`},null,-1)]])}var pn=R({name:`solar-plate-bold`,render:fn}),mn={class:`font-semibold text-xl truncate`},hn={class:`lg:col-span-2 order-1 !h-[220px]`},gn={class:`flex w-full h-full items-center justify-center`},_n={class:`lg:col-span-1 lg:row-span-3 order-2`},vn={class:`lg:!hidden card-title`},yn={key:0,class:`w-full h-full flex items-center justify-center`},bn={key:1},xn={class:`hidden lg:block text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},Sn={key:0,class:`flex items-center justify-center w-full h-full text-muted text-sm`},Cn=[`onClick`],wn={key:0,class:`w-full h-full`},Tn={key:0,class:`flex flex-col items-center justify-center w-full h-full text-muted text-sm gap-1 text-center`},En={key:2,class:`flex items-center justify-center w-full h-full text-muted text-sm`},Dn={key:9,class:`w-full h-full`},On={key:0,class:`flex items-center justify-center w-full h-full text-muted text-sm`},kn={class:`lg:col-span-2 order-3`},An={class:`lg:!hidden card-title`},jn={class:`hidden lg:block text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},Mn={key:0,class:`flex w-full h-full items-center justify-center`},Nn=[`innerHTML`],Pn={class:`lg:col-span-2 order-4`},Fn={class:`lg:!hidden card-title`},In={class:`hidden lg:block text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},Ln={key:0,class:`flex w-full h-full items-center justify-center`},Rn=[`innerHTML`],zn=U(z({__name:`Plugin`,setup(r){let u=new be,p=new ke,v=d(),x=xe(),S=ae(),C=ee(),re=Se(),{lgBreakpoint:E}=oe(),{t:O}=c(),k=M(S.params.scope),R=M(S.params.pluginname),z=L(()=>k.value?`${k.value}/${R.value}`:R.value),{contract:H,error:U}=i(z);p.toggleQueryActivator(`getPluginContractQuery`,!1);let{data:q,isBusy:de}=p.getPluginQuery(z),{data:fe,isBusy:pe}=p.getPluginReadmeQuery(z),{data:_e,isBusy:ye}=p.getPluginChangelogQuery(z),{data:J}=p.getPluginContractQuery(z),Y=o(z),X=Y.config,we=Y.isLoading,{mutate:Te,isPending:Ee}=u.addCameraExtensionQuery(),{mutate:je,isPending:Me}=u.removeCameraExtensionQuery(),Z=M(`settings`),Q=M([]),$=M([]),Ve=L(()=>!!H.value&&l(H.value,n.NVR)),He=Re(`commonmark`,{highlight(e,t){if(t&&Ie.getLanguage(t))try{return`<pre><code class="hljs">`+Ie.highlight(e,{language:t,ignoreIllegals:!0}).value+`</code></pre>`}catch{}return`<pre><code class="hljs">`+He.utils.escapeHtml(e)+`</code></pre>`}});Ie.registerLanguage(`typescript`,Le),Ie.registerLanguage(`yaml`,Fe),Ie.registerLanguage(`json`,Ne),Ie.registerLanguage(`python`,Pe);function Ue(e,t){return e.pluginInfo?.name===t}async function We(e){try{await Y.setValue(e.key,void 0),C.add({severity:`success`,detail:O(`components.toast.config_updated`),life:3e3})}catch(e){C.add({severity:`error`,detail:e,life:3e3})}}async function Ge(e){try{let t=await Y.submitValue(e.key,e.payload);if(t?.toast){let e=f(t.toast.type);C.add({severity:e,detail:t.toast.message,life:3e3})}t?.schema?.length&&re.openComponentDialog(Ae,{data:{title:O(`components.dialog.title.config`),hideConfirmButton:!0,contentProps:{schemaConfig:{schema:t.schema,config:e.payload},pluginName:z.value,buttonKey:e.key}}})}catch(e){C.add({severity:`error`,detail:e,life:3e3})}}async function Ke(e){if(X.value?.schema.length)try{let t=De(X.value.schema,e);await Y.setConfig(t),C.add({severity:`success`,detail:O(`components.toast.config_updated`),life:3e3})}catch(e){C.add({severity:`error`,detail:e,life:3e3})}}async function qe(e){if(q.value&&q.value.contract){let n=t(q.value.contract)?[`hub`]:q.value.contract.provides;if($.value.includes(e.name))for(let t of n)je({cameraname:e.name,pluginname:q.value.pluginName,type:t},{onSuccess:()=>{$.value=$.value.filter(t=>t!==e.name)}});else for(let t of n)Te({cameraname:e.name,pluginname:q.value.pluginName,type:t},{onSuccess:()=>{$.value=[...$.value,e.name]}})}}return m(q,e=>{if(!e||e.disabled){let e=Q.value.some(e=>e.name===`settings`),t=Q.value.some(e=>e.name===`cameras`);e?Z.value=`settings`:t&&(Z.value=`cameras`)}},{deep:!0}),m(S,()=>{R.value=S.params.pluginname},{deep:!0,immediate:!0}),m([q,Y.isConnected],async([e,t])=>{e&&!e.disabled&&t&&await Y.getConfig()},{immediate:!0}),m(X,()=>{X.value?p.toggleQueryActivator(`getPluginContractQuery`,!0):p.toggleQueryActivator(`getPluginContractQuery`,!1)},{deep:!0,immediate:!0}),m([J,X,H],()=>{let e=[],t=!1,r=Ve.value||!!X.value?.schema.length;e.push({name:`settings`,icon:ge,isInterface:!1,tooltip:O(`views.plugin.settings_tab_tooltip`)}),H.value&&l(H.value,n.MotionDetection)&&(t=!0,e.push({name:`motion_detection`,icon:rn,isInterface:!0,tooltip:O(`views.plugin.motion_detection_tab_tooltip`)})),H.value&&l(H.value,n.ObjectDetection)&&(t=!0,e.push({name:`object_detection`,icon:Zt,isInterface:!0,tooltip:O(`views.plugin.object_detection_tab_tooltip`)})),H.value&&l(H.value,n.AudioDetection)&&(t=!0,e.push({name:`audio_detection`,icon:Jt,isInterface:!0,tooltip:O(`views.plugin.audio_detection_tab_tooltip`)})),H.value&&l(H.value,n.FaceDetection)&&(t=!0,e.push({name:`face_detection`,icon:en,isInterface:!0,tooltip:O(`views.plugin.face_detection_tab_tooltip`)})),H.value&&l(H.value,n.LicensePlateDetection)&&(t=!0,e.push({name:`license_plate_detection`,icon:pn,isInterface:!0,tooltip:O(`views.plugin.license_plate_detection_tab_tooltip`)})),H.value&&l(H.value,n.ClassifierDetection)&&(t=!0,e.push({name:`classifier_detection`,icon:sn,isInterface:!0,tooltip:O(`views.plugin.classifier_detection_tab_tooltip`)})),H.value&&l(H.value,n.ClipDetection)&&(t=!0,e.push({name:`clip_detection`,icon:un,isInterface:!0,tooltip:O(`views.plugin.clip_detection_tab_tooltip`)})),H.value&&l(H.value,n.Notifier)&&(t=!0,e.push({name:`notification`,icon:he,isInterface:!0,tooltip:O(`views.plugin.notification_tab_tooltip`)})),e.push({name:`cameras`,icon:me,isInterface:!1,tooltip:O(`views.plugin.cameras_tab_tooltip`)}),J.value?.cameras.length&&($.value=J.value.cameras.filter(e=>e.plugins?.some(e=>e.name===z.value)).map(e=>e.name)),Q.value=[...e],q.value?.disabled||(r?Z.value=`settings`:t?Z.value=Q.value.filter(e=>e.isInterface)[0].name:Z.value=`settings`)},{deep:!0,immediate:!0}),m(U,e=>{e&&q.value&&!q.value.disabled&&v.error(`Error connecting to plugin:`,e)}),(t,n)=>{let r=ze,i=e,o=Ce,c=a,l=s,u=Be,d=W,ee=le,f=b(`RouterLink`),p=Oe,m=Gt,v=dt,S=ce,C=ve,re=K,O=ue,k=G,M=se;return V(),j(`div`,{key:y(z)},[B(o,{position:`left`},{default:N(()=>[B(i,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:n[0]||=e=>t.$router.push(`/plugins`)},{icon:N(()=>[B(r,{class:`w-6 h-6`})]),_:1})]),_:1}),B(o,{position:`center`},{default:N(()=>[w(`span`,mn,_(t.$t(`views.plugin.title`)),1)]),_:1}),w(`div`,{class:g([`grid grid-auto grid-cols-1 lg:grid-cols-3 gap-6 lg:h-full`,{"!gap-2":y(E)}])},[w(`div`,hn,[y(q)?(V(),T(u,{key:1,plugin:y(q),class:`h-[220px]`},null,8,[`plugin`])):(V(),T(l,{key:0,class:`cui-card items-center justify-center !h-[220px]`},{content:N(()=>[w(`div`,gn,[B(c,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])]),_:1}))]),w(`div`,_n,[w(`span`,vn,_(t.$t(`views.plugin.settings`)),1),B(l,{class:g([`cui-card !h-auto lg:!h-full`,{"items-center justify-center":y(de)||y(we)}])},{content:N(()=>[y(de)||y(we)?(V(),j(`div`,yn,[B(c,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(V(),j(`div`,bn,[w(`h3`,xn,_(t.$t(`views.plugin.settings`)),1),y(q)?.disabled?(V(),j(`div`,Sn,[w(`span`,null,_(t.$t(`views.plugin.disabled_info`)),1)])):(V(),T(k,{key:1,value:y(Z),"onUpdate:value":n[1]||=e=>A(Z)?Z.value=e:null,scrollable:``},{default:N(()=>[B(ee,{class:`justify-between`,pt:{activeBar:{class:`!w-auto`},content:{class:`border-[1px] border-color cui-rounded-corner overflow-hidden`}}},{default:N(()=>[(V(!0),j(P,null,ne(y(Q),(e,t)=>(V(),T(d,{key:t,disabled:e.isInterface&&y(q)?.disabled,value:e.name,"as-child":``},{default:N(t=>[I((V(),j(`div`,h({ref_for:!0},t.a11yAttrs,{class:[`flex flex-col items-center justify-center flex-1 content-background !py-3 h-[55px]`,[{"hover:!text-color active:!text-color focus:!text-color":!t.active},t.class]],onClick:t.onClick}),[(V(),T(te(e.icon),{class:`w-5 h-5`}))],16,Cn)),[[M,{value:e.tooltip}]])]),_:2},1032,[`disabled`,`value`]))),128))]),_:1}),B(O,{class:`px-0 pb-0`},{default:N(()=>[(V(!0),j(P,null,ne(y(Q),(e,n)=>(V(),T(re,{key:n,value:e.name,"as-child":``},{default:N(n=>[n.active?(V(),j(`div`,h({key:0,class:n.class},{ref_for:!0},n.a11yAttrs),[e.name===`settings`?(V(),j(`div`,wn,[y(Ve)?(V(),j(`div`,Tn,[w(`span`,null,_(t.$t(`views.plugin.nvr_settings_hint`)),1),B(f,{to:`/settings/recordings`,class:`text-primary-500 hover:underline`},{default:N(()=>[ie(_(t.$t(`views.plugin.nvr_settings_link`)),1)]),_:1})])):y(X)?.schema?.length?(V(),T(p,{key:1,"schema-form":{schema:y(X).schema,config:y(X).config},loading:y(Y).isLoading.value,"save-button-color":`success`,onOnAction:We,onOnSubmit:Ge,onOnFormSubmit:Ke},null,8,[`schema-form`,`loading`])):(V(),j(`div`,En,[w(`span`,null,_(t.$t(`views.plugin.no_settings`)),1)]))])):e.name===`motion_detection`?(V(),T(m,{key:1,"plugin-name":y(z),type:`motionDetection`},null,8,[`plugin-name`])):e.name===`object_detection`?(V(),T(m,{key:2,"plugin-name":y(z),type:`objectDetection`},null,8,[`plugin-name`])):e.name===`audio_detection`?(V(),T(m,{key:3,"plugin-name":y(z),type:`audioDetection`},null,8,[`plugin-name`])):e.name===`face_detection`?(V(),T(m,{key:4,"plugin-name":y(z),type:`faceDetection`},null,8,[`plugin-name`])):e.name===`license_plate_detection`?(V(),T(m,{key:5,"plugin-name":y(z),type:`licensePlateDetection`},null,8,[`plugin-name`])):e.name===`classifier_detection`?(V(),T(m,{key:6,"plugin-name":y(z),type:`classifierDetection`},null,8,[`plugin-name`])):e.name===`clip_detection`?(V(),T(m,{key:7,"plugin-name":y(z),type:`clipDetection`},null,8,[`plugin-name`])):e.name===`notification`?(V(),T(v,{key:8,"plugin-name":y(z)},null,8,[`plugin-name`])):e.name===`cameras`?(V(),j(`div`,Dn,[y(J)?.cameras?.length?(V(!0),j(P,{key:1},ne(y(J).cameras,e=>(V(),j(`div`,{key:e.name,class:`cui-list-item`},[B(C,{disabled:y(Ee)||y(Me)||y(Y).isLoading.value,active:y($).includes(e.name),class:`h-14`,onClick:t=>y(x).open({cameraName:e.name})},D({default:N(()=>[w(`span`,null,_(e.name),1)]),_:2},[!y(q)||!Ue(e,y(q).pluginName)?{name:`append`,fn:N(()=>[B(S,{"model-value":y($).includes(e.name),disabled:y(Ee)||y(Me)||y(Y).isLoading.value,"onUpdate:modelValue":()=>qe(e)},null,8,[`model-value`,`disabled`,`onUpdate:modelValue`])]),key:`0`}:void 0]),1032,[`disabled`,`active`,`onClick`])]))),128)):(V(),j(`div`,On,[w(`span`,null,_(t.$t(`views.plugin.no_cameras`)),1)]))])):F(``,!0)],16)):F(``,!0)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`value`]))]))]),_:1},8,[`class`])]),w(`div`,kn,[w(`span`,An,_(t.$t(`views.plugin.readme`)),1),B(l,{class:`cui-card !h-auto lg:!h-full`},{content:N(()=>[w(`h3`,jn,_(t.$t(`views.plugin.readme`)),1),y(pe)?(V(),j(`div`,Mn,[B(c,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(V(),j(`div`,{key:1,class:`markdown-body`,innerHTML:y(He).render(y(fe)||t.$t(`views.plugin.no_readme`))},null,8,Nn))]),_:1})]),w(`div`,Pn,[w(`span`,Fn,_(t.$t(`views.plugin.changelog`)),1),B(l,{class:`cui-card !h-auto lg:!h-full`},{content:N(()=>[w(`h3`,In,_(t.$t(`views.plugin.changelog`)),1),y(ye)?(V(),j(`div`,Ln,[B(c,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(V(),j(`div`,{key:1,class:`markdown-body`,innerHTML:y(He).render(y(_e)||t.$t(`views.plugin.no_changelog`))},null,8,Rn))]),_:1})])],2)])}}}),[[`__scopeId`,`data-v-869e4fd8`]]);export{zn as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.grid-auto[data-v-869e4fd8]{grid-template-rows:220px auto}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.detail-meta[data-v-52af01fa]{color:var(--text-muted-color);align-items:center;gap:.25rem;font-size:.75rem;display:inline-flex}.detail-meta-icon[data-v-52af01fa]{width:.9rem;height:.9rem}.screenshots-row[data-v-52af01fa]{gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.screenshot-thumb[data-v-52af01fa] img{border-radius:var(--border-radius-md);border:1px solid var(--border-color-inner);object-fit:cover;width:auto;height:140px}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/VersionsHandler-nZK8BEJK.js","assets/vendor-cameraui-DgSMexWY.js","assets/rolldown-runtime-DAXXjFlN.js","assets/vendor-DoIl6acN.js","assets/api-Cntxdwiu.js","assets/vendor-core-BKHiXSX7.js","assets/api-CrAOxyt8.css","assets/useSharedComposables-gpJ--qZh.js","assets/ui-DrzKhUXW.js","assets/vendor-primevue-7iEzPOvf.js","assets/plugins-C_Mh_UEw.js","assets/useLogsSocket-gXiAENMr.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/vendor-xterm-BRN-hOYD.js","assets/vendor-xterm-BrP-ENHg.css","assets/useLogsSocket-4F2-d9fa.css","assets/vendor-markdown-UV_ycMZu.js","assets/vendor-markdown-DtOhvyRx.css","assets/server-GaO6jF81.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{Hn as e,Vn as t,fi as n}from"./vendor-cameraui-DgSMexWY.js";import{c as r,s as i}from"./api-Cntxdwiu.js";import{Er as a,Sr as o,Vn as s,Wt as c,br as l,dn as u,fn as d,mn as f,nr as p,on as m,pn as h,rr as g,un as _,ur as v,vn as y,xn as b,yn as x,zn as S}from"./vendor-DoIl6acN.js";import{t as C}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{J as ee,U as te,q as ne}from"./vendor-primevue-7iEzPOvf.js";import{t as w}from"./CuiImage-KyBpvv-t.js";import{t as T}from"./bug-DPw8k4Lk.js";import{n as E,t as D}from"./useCuiDialog-j9ybKsCK.js";import{t as O}from"./plugins-C_Mh_UEw.js";import{t as re}from"./home-Dey3bw1P.js";import{t as ie}from"./clock-outline-MhJC2-0d.js";import{t as ae}from"./source-branch-Cd8fHY0E.js";import{t as oe}from"./CuiPluginTrustBadge-YhfqGTyR.js";import{t as se}from"./account-DqOHQKv8.js";import{t as k}from"./CuiMarkdownContent-DaJ8HzaP.js";import{a as A,i as j,t as M}from"./CuiPluginCategoryChip-rfdhCEi-.js";var N={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function P(e,t){return S(),f(`svg`,N,[...t[0]||=[u(`path`,{fill:`currentColor`,d:`M12 3c-1.27 0-2.4.8-2.82 2H3v2h1.95L2 14c-.47 2 1 3 3.5 3s4.06-1 3.5-3L6.05 7h3.12c.33.85.98 1.5 1.83 1.83V20H2v2h20v-2h-9V8.82c.85-.32 1.5-.97 1.82-1.82h3.13L15 14c-.47 2 1 3 3.5 3s4.06-1 3.5-3l-2.95-7H21V5h-6.17C14.4 3.8 13.27 3 12 3m0 2a1 1 0 0 1 1 1a1 1 0 0 1-1 1a1 1 0 0 1-1-1a1 1 0 0 1 1-1m-6.5 5.25L7 14H4zm13 0L20 14h-3z`},null,-1)]])}var F=v({name:`mdi-scale-balance`,render:P}),I={class:`plugin-detail`},L={class:`flex items-start gap-4`},R={class:`w-16 h-16 relative rounded-2xl flex-shrink-0 border-2 border-color overflow-hidden`},z={class:`flex flex-col min-w-0 flex-1`},B={class:`flex items-center gap-2 flex-wrap`},V={class:`text-xl font-semibold truncate`},H={class:`text-sm text-muted truncate`},U={key:0,class:`text-sm mt-1`},ce={class:`flex flex-wrap items-center gap-2 mt-4`},W={key:0,class:`detail-meta`},G={key:1,class:`detail-meta`},le={key:2,class:`detail-meta`},ue={key:3,class:`detail-meta`},de={key:0,class:`flex flex-wrap items-center gap-1 mt-4`},fe={key:1,class:`mt-5`},pe={class:`text-base font-semibold mb-2`},me={class:`screenshots-row custom-scrollbar`},he={class:`readme-section`},ge={key:0,class:`flex w-full items-center justify-center py-10`},K=C(b({__name:`PluginDetail`,props:{plugin:{}},setup(v,{expose:b}){let C=E(()=>c(()=>import(`./VersionsHandler-nZK8BEJK.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]))),N=new O,P=v,K=D(),{t:q}=n(),{plugin:J}=l(P),{data:Y}=N.getPluginLogoQuery(J.value.pluginName),{data:_e,isBusy:ve}=N.getPluginReadmeQuery(J.value.pluginName),ye=_(()=>J.value.logo||Y.value),X=_(()=>{let e=J.value.downloads?.weekly;return typeof e==`number`?q(`components.plugin_search.downloads_per_week`,{count:i(e)}):void 0}),Z=_(()=>J.value.lastUpdated?r(J.value.lastUpdated):void 0),be=_(()=>!!(J.value.links?.npm||J.value.links?.repository||J.value.links?.homepage||J.value.links?.bugs));function Q(){K.openComponentDialog(C,{data:{title:q(`components.dialog.title.install`),confirmText:q(`components.form.button.install`),contentProps:{target:o(J),installVersion:`latest`,isNewPlugin:!0}}})}return b({onConfirm:Q}),(n,r)=>{let i=w,c=oe,l=M,_=j,v=ie,b=F,C=se,E=A,D=e,O=ae,N=re,P=T,K=ne,q=te,Y=t,Q=k,$=ee;return S(),f(`div`,I,[u(`div`,L,[u(`div`,R,[x(i,{src:o(ye),alt:`Plugin icon`,class:`block w-full h-full`,"image-container-class":`w-full h-full`,"image-class":`object-contain`},null,8,[`src`])]),u(`div`,z,[u(`div`,B,[u(`h2`,V,a(o(J).displayName),1),x(c,{trust:o(J).trust,"show-label":!1},null,8,[`trust`])]),u(`div`,H,a(o(J).pluginName),1),o(J).tagline||o(J).description?(S(),f(`p`,U,a(o(J).tagline||o(J).description),1)):h(``,!0)])]),u(`div`,ce,[x(l,{category:o(J).category},null,8,[`category`]),o(X)?(S(),f(`span`,W,[x(_,{class:`detail-meta-icon`}),y(` `+a(o(X)),1)])):h(``,!0),o(Z)?(S(),f(`span`,G,[x(v,{class:`detail-meta-icon`}),y(` `+a(n.$t(`components.plugin_search.updated_ago`,{time:o(Z)})),1)])):h(``,!0),o(J).license?(S(),f(`span`,le,[x(b,{class:`detail-meta-icon`}),y(` `+a(o(J).license),1)])):h(``,!0),o(J).author?(S(),f(`span`,ue,[x(C,{class:`detail-meta-icon`}),y(` `+a(o(J).author),1)])):h(``,!0)]),o(be)?(S(),f(`div`,de,[o(J).links?.npm?g((S(),d(D,{key:0,text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:r[0]||=e=>n.$router.absUrl(o(J).links.npm,!0)},{icon:p(()=>[x(E,{width:`100%`,height:`100%`})]),_:1})),[[$,{value:`NPM`},void 0,{top:!0}]]):h(``,!0),o(J).links?.repository?g((S(),d(D,{key:1,text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:r[1]||=e=>n.$router.absUrl(o(J).links.repository,!0)},{icon:p(()=>[x(O,{width:`100%`,height:`100%`})]),_:1})),[[$,{value:n.$t(`components.plugin_search.repository`)},void 0,{top:!0}]]):h(``,!0),o(J).links?.homepage?g((S(),d(D,{key:2,text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:r[2]||=e=>n.$router.absUrl(o(J).links.homepage,!0)},{icon:p(()=>[x(N,{width:`100%`,height:`100%`})]),_:1})),[[$,{value:n.$t(`components.plugin_search.homepage`)},void 0,{top:!0}]]):h(``,!0),o(J).links?.bugs?g((S(),d(D,{key:3,text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:r[3]||=e=>n.$router.absUrl(o(J).links.bugs,!0)},{icon:p(()=>[x(P,{width:`100%`,height:`100%`})]),_:1})),[[$,{value:n.$t(`components.plugin_search.bugs`)},void 0,{top:!0}]]):h(``,!0)])):h(``,!0),o(J).screenshots?.length?(S(),f(`div`,fe,[u(`h3`,pe,a(n.$t(`components.plugin_search.screenshots`)),1),u(`div`,me,[(S(!0),f(m,null,s(o(J).screenshots,(e,t)=>(S(),d(K,{key:t,src:e,alt:`Screenshot`,preview:``,class:`screenshot-thumb`},null,8,[`src`]))),128))])])):h(``,!0),x(q),u(`div`,he,[o(ve)?(S(),f(`div`,ge,[x(Y,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(S(),d(Q,{key:1,content:o(_e)||n.$t(`views.plugin.no_readme`)},null,8,[`content`]))])])}}}),[[`__scopeId`,`data-v-52af01fa`]]);export{K as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/VersionsHandler-nZK8BEJK.js","assets/vendor-cameraui-DgSMexWY.js","assets/rolldown-runtime-DAXXjFlN.js","assets/vendor-DoIl6acN.js","assets/api-Cntxdwiu.js","assets/vendor-core-BKHiXSX7.js","assets/api-CrAOxyt8.css","assets/useSharedComposables-gpJ--qZh.js","assets/ui-DrzKhUXW.js","assets/vendor-primevue-7iEzPOvf.js","assets/plugins-C_Mh_UEw.js","assets/useLogsSocket-gXiAENMr.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/vendor-xterm-BRN-hOYD.js","assets/vendor-xterm-BrP-ENHg.css","assets/useLogsSocket-4F2-d9fa.css","assets/vendor-markdown-UV_ycMZu.js","assets/vendor-markdown-DtOhvyRx.css","assets/server-GaO6jF81.js","assets/PluginDetail-C3j4zIxC.js","assets/CuiImage-KyBpvv-t.js","assets/CuiImage-Bxf7z2N4.css","assets/bug-DPw8k4Lk.js","assets/useCuiDialog-j9ybKsCK.js","assets/close-DuwOOM-P.js","assets/useElectron-mh8HQUAI.js","assets/home-Dey3bw1P.js","assets/clock-outline-MhJC2-0d.js","assets/source-branch-Cd8fHY0E.js","assets/CuiPluginTrustBadge-YhfqGTyR.js","assets/shield-check-ChlSHOnR.js","assets/CuiPluginTrustBadge-QHTLaN1n.css","assets/account-DqOHQKv8.js","assets/CuiMarkdownContent-DaJ8HzaP.js","assets/CuiPluginCategoryChip-rfdhCEi-.js","assets/motion-sensor-DD8SfD-m.js","assets/cctv-CBtg_v6o.js","assets/bell-ring-CenQn4Yt.js","assets/CuiPluginCategoryChip-CdGrTCxH.css","assets/PluginDetail-B2odw9DA.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{Hn as e,Kn as t,fi as n,lt as r,tt as i}from"./vendor-cameraui-DgSMexWY.js";import{c as a,s as o}from"./api-Cntxdwiu.js";import{$n as s,Cr as c,En as l,Er as u,Sr as d,Vn as f,Wt as p,an as ee,dn as m,fn as h,in as g,lr as _,mn as v,mr as y,nr as b,on as x,pn as S,rr as C,un as w,ur as T,vn as E,xn as D,yn as O,zn as k}from"./vendor-DoIl6acN.js";import{t as A}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as te}from"./close-DuwOOM-P.js";import{J as j,L as ne,R as re,U as ie,j as ae,s as oe}from"./vendor-primevue-7iEzPOvf.js";import{t as M}from"./CuiImage-KyBpvv-t.js";import{t as se}from"./refresh-rounded-Bqiw9DUu.js";import{n as N,t as P}from"./useCuiDialog-j9ybKsCK.js";import{t as F}from"./github-DLhaVazy.js";import{t as ce}from"./plugins-C_Mh_UEw.js";import{t as I}from"./clock-outline-MhJC2-0d.js";import{t as L}from"./CuiPluginTrustBadge-YhfqGTyR.js";import{a as R,i as z,n as le,r as ue,t as B}from"./CuiPluginCategoryChip-rfdhCEi-.js";var V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return k(),v(`svg`,V,[...t[0]||=[m(`path`,{fill:`currentColor`,d:`M13 15.6c.3.2.7.2 1 0l5-2.9v.3c.7 0 1.4.1 2 .4v-1.8l1-.6c.5-.3.6-.9.4-1.4l-1.5-2.5c-.1-.2-.2-.4-.4-.5l-7.9-4.4c-.2-.1-.4-.2-.6-.2s-.4.1-.6.2L3.6 6.6c-.2.1-.4.2-.5.4L1.6 9.6c-.3.5-.1 1.1.4 1.4c.3.2.7.2 1 0v5.5c0 .4.2.7.5.9l7.9 4.4c.2.1.4.2.6.2s.4-.1.6-.2l.9-.5c-.3-.6-.4-1.3-.5-2m-2 0l-6-3.4V9.2l6 3.4zm9.1-9.6l-6.3 3.6l-.6-1l6.3-3.6zM12 10.8V4.2l6 3.3zm8 4.2v3h3v2h-3v3h-2v-3h-3v-2h3v-3z`},null,-1)]])}var de=T({name:`mdi-package-variant-plus`,render:H}),U={class:`plugin-store-card-body`},W={class:`flex items-start gap-3 min-w-0`},G={class:`plugin-store-icon flex-shrink-0`},K={class:`min-w-0 flex-1`},q={class:`flex items-center gap-2 min-w-0`},J={class:`font-medium text-base truncate`},Y={class:`text-sm text-muted truncate`},fe={class:`plugin-store-card-description`},pe={class:`flex flex-wrap items-center gap-x-3 gap-y-1 mt-auto pt-2`},X={key:0,class:`plugin-store-meta`},Z={key:1,class:`plugin-store-meta`},Q={class:`flex gap-1`},me=A(D({__name:`CuiPluginStoreCard`,props:{plugin:{},inProgress:{type:Boolean}},emits:[`open`,`install`],setup(t,{emit:r}){let i=t,s=r,{t:l}=n(),f=w(()=>i.plugin),p=w(()=>{let e=f.value.downloads?.weekly;return typeof e==`number`?l(`components.plugin_search.downloads_per_week`,{count:o(e)}):void 0}),_=w(()=>f.value.lastUpdated?a(f.value.lastUpdated):void 0);return(n,r)=>{let i=M,a=L,o=B,l=z,y=I,x=F,w=e,T=R,D=j;return k(),v(`div`,{class:c([`plugin-store-card shadow-sm transition-default card-background custom-scrollbar`,{"opacity-50 in-progress":t.inProgress}]),role:`button`,tabindex:`0`,onClick:r[4]||=e=>s(`open`,d(f)),onKeydown:r[5]||=g(e=>s(`open`,d(f)),[`enter`])},[m(`div`,U,[m(`div`,W,[m(`div`,G,[O(i,{src:d(f).logo,alt:`Plugin logo`,class:`block w-full h-full`,"image-container-class":`w-full h-full`,"image-class":`object-contain`},null,8,[`src`])]),m(`div`,K,[m(`div`,q,[m(`h4`,J,u(d(f).displayName),1),O(a,{trust:d(f).trust,"show-label":!1,class:`flex-shrink-0`},null,8,[`trust`])]),m(`div`,Y,u(d(f).pluginName),1)])]),m(`p`,fe,u(d(f).tagline||d(f).description),1),m(`div`,pe,[O(o,{category:d(f).category},null,8,[`category`]),d(p)?(k(),v(`span`,X,[O(l,{class:`plugin-store-meta-icon`}),E(` `+u(d(p)),1)])):S(``,!0),d(_)?(k(),v(`span`,Z,[O(y,{class:`plugin-store-meta-icon`}),E(` `+u(n.$t(`components.plugin_search.updated_ago`,{time:d(_)})),1)])):S(``,!0)])]),m(`div`,{class:`plugin-store-card-actions`,onClick:r[3]||=ee(()=>{},[`stop`])},[m(`div`,Q,[d(f).links?.repository||d(f).links?.homepage?C((k(),h(w,{key:0,text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:r[0]||=e=>n.$router.absUrl(d(f).links?.repository||d(f).links?.homepage,!0)},{icon:b(()=>[O(x,{width:`100%`,height:`100%`})]),_:1})),[[D,{value:`Github`},void 0,{top:!0}]]):S(``,!0),d(f).links?.npm?C((k(),h(w,{key:1,text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:r[1]||=e=>n.$router.absUrl(d(f).links.npm,!0)},{icon:b(()=>[O(T,{width:`100%`,height:`100%`})]),_:1})),[[D,{value:`NPM`},void 0,{top:!0}]]):S(``,!0)]),O(w,{class:`cui-button-medium ml-auto`,label:n.$t(`components.form.button.install`),disabled:t.inProgress,onClick:r[2]||=e=>s(`install`,d(f))},null,8,[`label`,`disabled`])])],34)}}}),[[`__scopeId`,`data-v-bc1234be`]]),he={class:`cui-label`},ge={class:`flex flex-wrap gap-2 mt-4`},_e={key:0,class:`mt-6`},ve={class:`featured-row custom-scrollbar mt-3`},ye={class:`flex flex-row items-center justify-center w-full mt-8`},be={key:3,class:`text-center py-10`},xe={class:`text-muted mb-2`},Se={class:`text-muted`},Ce={key:4,class:`w-full`},we={key:5,class:`w-full plugin-list`},$=A(D({__name:`PluginSearch`,setup(a,{expose:o}){let c=N(()=>p(()=>import(`./VersionsHandler-nZK8BEJK.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]))),g=N(()=>p(()=>import(`./PluginDetail-C3j4zIxC.js`),__vite__mapDeps([19,1,2,3,4,5,6,12,9,20,21,22,23,7,8,24,25,10,26,27,28,29,30,31,32,33,16,17,34,35,36,37,38,39]))),T=new ce,E=P(),{t:D}=n(),A=l(`dialogRefProps`),M=y(``),F=y({}),I=y([]),L=y(`all`),R=y(`all`),z=y(`name`),B=y(!1),{data:V,isBusy:H,refetch:U}=T.searchPluginsQuery(F,{page:1,pageSize:-1},B),{data:W,isBusy:G,refetch:K}=T.getPluginsProgressQuery({page:1,pageSize:-1}),q=w(()=>H.value||G.value),J=w(()=>!!(A.loading?.value||q.value)),Y=w(()=>[{label:D(`components.plugin_search.filter_all_categories`),value:`all`},...ue.map(e=>({label:D(le[e].labelKey),value:e}))]),fe=w(()=>[{label:D(`components.plugin_search.filter_all_trust`),value:`all`},{label:D(`components.plugin_search.trust_official`),value:`official`},{label:D(`components.plugin_search.trust_verified`),value:`verified`},{label:D(`components.plugin_search.trust_community`),value:`community`}]),pe=w(()=>[{label:D(`components.plugin_search.sort_name`),value:`name`},{label:D(`components.plugin_search.sort_downloads`),value:`downloads`},{label:D(`components.plugin_search.sort_updated`),value:`updated`}]),X=w(()=>{let e=I.value.slice();return L.value!==`all`&&(e=e.filter(e=>e.category===L.value)),R.value!==`all`&&(e=e.filter(e=>e.trust===R.value)),e.sort((e,t)=>{switch(z.value){case`downloads`:return(t.downloads?.weekly??0)-(e.downloads?.weekly??0);case`updated`:return new Date(t.lastUpdated??0).getTime()-new Date(e.lastUpdated??0).getTime();default:return(e.displayName||e.pluginName).localeCompare(t.displayName||t.pluginName)}}),e}),Z=w(()=>X.value.filter(e=>e.featured)),Q=w(()=>X.value.filter(e=>!e.featured));function $(e){return W.value?.result.some(t=>t.pluginName===e)}function Te(e){e?.preventDefault(),F.value.pluginname=M.value??``}function Ee(){M.value=``,F.value={},L.value=`all`,R.value=`all`,z.value=`name`,Te()}function De(){B.value=!0,Promise.all([U(),K()]).finally(()=>{B.value=!1})}function Oe(e){E.openComponentDialog(c,{data:{title:D(`components.dialog.title.install`),loading:J,contentProps:{target:d(e),installVersion:`latest`,isNewPlugin:!0}}})}function ke(e){E.openComponentDialog(g,{data:{title:D(`components.dialog.title.details`),confirmText:D(`components.form.button.install`),contentProps:{plugin:d(e)}}})}return s(V,e=>{e?.result&&(I.value=e.result.filter(e=>!e.installPath))},{immediate:!0,deep:!0}),o({isLoading:J}),(n,a)=>{let o=i,s=te,c=e,l=ne,p=re,g=ae,y=me,w=se,T=t,E=oe,D=ie,A=de,N=r,P=j;return k(),v(`div`,null,[m(`form`,{onSubmit:ee(Te,[`prevent`])},[m(`label`,he,u(n.$t(`components.form.label.name`)),1),O(p,null,{default:b(()=>[O(o,{modelValue:d(M),"onUpdate:modelValue":a[0]||=e=>_(M)?M.value=e:null,modelModifiers:{trim:!0},loading:d(q),placeholder:`camera-ui-`,type:`text`},null,8,[`modelValue`,`loading`]),O(l,null,{default:b(()=>[O(c,{text:``,rounded:``,severity:`secondary`,class:`cui-icon-md`,onClick:Ee},{icon:b(()=>[O(s,{width:`100%`,height:`100%`})]),_:1})]),_:1})]),_:1})],32),m(`div`,ge,[O(g,{modelValue:d(L),"onUpdate:modelValue":a[1]||=e=>_(L)?L.value=e:null,options:d(Y),"option-label":`label`,"option-value":`value`,class:`flex-1 min-w-[140px]`,placeholder:n.$t(`components.plugin_search.filter_category`)},null,8,[`modelValue`,`options`,`placeholder`]),O(g,{modelValue:d(R),"onUpdate:modelValue":a[2]||=e=>_(R)?R.value=e:null,options:d(fe),"option-label":`label`,"option-value":`value`,class:`flex-1 min-w-[140px]`,placeholder:n.$t(`components.plugin_search.filter_trust`)},null,8,[`modelValue`,`options`,`placeholder`]),O(g,{modelValue:d(z),"onUpdate:modelValue":a[3]||=e=>_(z)?z.value=e:null,options:d(pe),"option-label":`label`,"option-value":`value`,class:`flex-1 min-w-[140px]`,placeholder:n.$t(`components.plugin_search.sort_by`)},null,8,[`modelValue`,`options`,`placeholder`])]),!d(q)&&d(Z).length?(k(),v(`div`,_e,[m(`h3`,null,u(n.$t(`components.plugin_search.featured`)),1),m(`div`,ve,[(k(!0),v(x,null,f(d(Z),(e,t)=>(k(),v(`div`,{key:t,class:`featured-item`},[O(y,{plugin:e,"in-progress":$(e.pluginName),onOpen:ke,onInstall:Oe},null,8,[`plugin`,`in-progress`])]))),128))])])):S(``,!0),m(`div`,ye,[m(`h3`,null,u(n.$t(`components.plugin_search.plugins`)),1),C((k(),h(c,{text:``,rounded:``,severity:`secondary`,class:`cui-icon-md ml-auto`,onClick:De},{icon:b(()=>[O(w,{width:`100%`,height:`100%`})]),_:1})),[[P,{value:n.$t(`components.plugin_search.refresh`)},void 0,{left:!0}]]),O(T,{size:`small`,class:`ml-2 rounded-full`,value:String(d(Q).length)},null,8,[`value`])]),d(q)?(k(),h(E,{key:1,mode:`indeterminate`,class:`my-3 !h-[1px]`})):(k(),h(D,{key:2,class:`m-0 py-3`})),!d(q)&&!d(Q).length?(k(),v(`div`,be,[m(`div`,xe,[O(A,{class:`w-12 h-12 mx-auto opacity-30`})]),m(`p`,Se,u(n.$t(`views.plugins.no_plugins`)),1)])):d(q)?(k(),v(`div`,Ce,[(k(),v(x,null,f(6,e=>O(N,{key:e,class:`mb-2`,height:`132px`})),64))])):(k(),v(`div`,we,[(k(!0),v(x,null,f(d(Q),(e,t)=>C((k(),h(y,{key:t,plugin:e,"in-progress":$(e.pluginName),onOpen:ke,onInstall:Oe},null,8,[`plugin`,`in-progress`])),[[P,{value:$(e.pluginName)?n.$t(`components.plugin_search.in_progress`):void 0}]])),128))]))])}}}),[[`__scopeId`,`data-v-ebbed596`]]);export{$ as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./PluginSearch-BLWXmn9w.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./SettingsAccount-CWVj8S8j.js";export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./SettingsAppearance-DNaNlO1q.js";export{e as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/VersionsHandler-nZK8BEJK.js","assets/vendor-cameraui-DgSMexWY.js","assets/rolldown-runtime-DAXXjFlN.js","assets/vendor-DoIl6acN.js","assets/api-Cntxdwiu.js","assets/vendor-core-BKHiXSX7.js","assets/api-CrAOxyt8.css","assets/useSharedComposables-gpJ--qZh.js","assets/ui-DrzKhUXW.js","assets/vendor-primevue-7iEzPOvf.js","assets/plugins-C_Mh_UEw.js","assets/useLogsSocket-gXiAENMr.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/vendor-xterm-BRN-hOYD.js","assets/vendor-xterm-BrP-ENHg.css","assets/useLogsSocket-4F2-d9fa.css","assets/vendor-markdown-UV_ycMZu.js","assets/vendor-markdown-DtOhvyRx.css","assets/server-GaO6jF81.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{Hn as e,Vn as t,ct as ee,fi as n}from"./vendor-cameraui-DgSMexWY.js";import{A as r,O as i,m as a}from"./api-Cntxdwiu.js";import{$n as o,Er as s,Ln as te,Sr as c,Wt as ne,dn as l,fn as u,mn as d,mr as f,nr as p,on as re,pn as m,t as h,un as g,vn as _,xn as ie,yn as v,zn as y}from"./vendor-DoIl6acN.js";import{t as ae}from"./useElectron-mh8HQUAI.js";import{t as oe}from"./api-CvihG9kg.js";import{t as b}from"./useFileDownload-BcOErnCc.js";import{t as x}from"./hasPermission-CPgoH1JH.js";import{n as se,t as ce}from"./useCuiDialog-j9ybKsCK.js";import{r as le,t as ue}from"./server-GaO6jF81.js";var de={class:`flex flex-col w-full gap-6`},fe={class:`flex flex-col gap-6`},pe={key:0,class:`flex flex-row items-center justify-between`},me={class:`text-sm`},he={key:1,class:`text-sm font-bold`},ge={class:`flex flex-row items-center justify-between`},_e={class:`text-sm`},ve={key:1,class:`text-sm font-bold`},ye={key:1,class:`flex w-full items-center gap-2`},be={key:0},xe={class:`card-title`},Se={class:`flex flex-col gap-6`},Ce={class:`text-sm`},we={class:`card-title`},Te={class:`flex flex-col gap-6`},Ee={class:`text-sm`},S={key:1},C={class:`card-title`},w={class:`flex flex-col gap-6`},T={class:`text-sm`},E=ie({__name:`SettingsSystem`,setup(ie){let E=se(()=>ne(()=>import(`./VersionsHandler-nZK8BEJK.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]))),D=new oe,O=new ue,k=r(),A=ce(),{t:j}=n(),{isElectronApp:M,electron:N}=ae(),{isOnline:P}=i(),De=a();O.toggleQueryActivator(`checkVersionQuery`,!1);let{data:F,isBusy:Oe}=D.apiInfoQuery(),{data:I,isBusy:ke}=O.checkVersionQuery(),{mutate:Ae,isPending:je}=O.restartServerQuery(),{mutateAsync:Me,isPending:Ne}=O.resetServerQuery(),L=f(j(`views.settings.unknown`)),R=f(j(`views.settings.unknown`)),z=f(),B=f(),V=f(),H=f(!1),U=f(!1),W=f(!1),G=f(!1),K=g(()=>F.value?.electron??!1),q=g(()=>je.value||Ne.value||Oe.value||ke.value||G.value||U.value),J=g(()=>F.value?.installedVersion||F.value?.version),Y=g(()=>F.value?.restartRequired??!1),X=g(()=>q.value||!P.value),Z=g(()=>J.value&&B.value?h(B.value,J.value)===1:!1),Pe=g(()=>J.value&&z.value?h(z.value,J.value)===1:!1),Q=g(()=>Z.value?B.value:Pe.value?z.value:void 0);async function Fe(){if(!H.value){H.value=!0;try{let e=await le();await b({blob:new Blob([e],{type:`application/x-x509-ca-cert`}),filename:`cert.pem`,mimeType:`application/x-x509-ca-cert`})}catch(e){k.error(e)}H.value=!1}}function $(e){switch(e){case`restart`:A.openTextDialog({data:{title:j(`components.dialog.title.restart`),confirmText:j(`components.form.button.restart`),contentText:j(`components.dialog.message.confirm_restart_server`),loading:q},onConfirm:Ae});break;case`reset`:A.openTextDialog({data:{title:j(`components.dialog.title.reset_server`),confirmText:j(`components.form.button.reset`),contentText:j(`components.dialog.message.confirm_reset_server`),loading:q},onConfirm:async()=>{try{await Me()}catch{}finally{De.logout()}}});break;case`versions`:case`install`:A.openComponentDialog(E,{data:{title:j(`components.dialog.title.install_version`),confirmText:j(e===`install`?`components.form.button.update`:`components.form.button.install`),loading:q,contentProps:{target:{type:`server`},installVersion:e===`install`?Q.value:void 0}}});break}}async function Ie(){if(M)try{W.value=!0,R.value=await N.invoke(`get-app-version`)??j(`views.settings.unknown`)}catch(e){k.error(`Error getting electron app version:`,e)}finally{W.value=!1}}async function Le(){if(M)try{G.value=!0;let e=await N.invoke(`get-update-available`);V.value=e.isUpdateAvailable?e.version:void 0}catch(e){k.error(`Error checking for electron updates:`,e)}finally{G.value=!1}}async function Re(){if(M)try{U.value=!0,await N.invoke(`quit-and-install`)}catch(e){k.error(`Error installing electron update:`,e)}finally{U.value=!1}}return o(F,()=>{L.value=F.value?.version||j(`views.settings.unknown`),F.value&&O.toggleQueryActivator(`checkVersionQuery`,!K.value)},{deep:!0,immediate:!0}),o(I,()=>{B.value=I.value?.[`dist-tags`].latest,z.value=I.value?.[`dist-tags`].alpha},{deep:!0,immediate:!0}),o(P,(e,t)=>{e&&!t&&!K.value&&(D.queryClient.invalidateQueries({queryKey:[`api`]}),O.queryClient.invalidateQueries({queryKey:[`version`]}))}),te(()=>{M&&(Ie(),Le())}),(n,r)=>{let i=t,a=e,o=ee;return y(),d(`div`,null,[l(`div`,de,[l(`div`,null,[r[6]||=l(`span`,{class:`card-title`},`camera.ui`,-1),v(o,{class:`cui-card`},{content:p(()=>[l(`div`,fe,[c(M)?(y(),d(`div`,pe,[l(`span`,me,s(n.$t(`views.settings.app`)),1),c(q)?(y(),u(i,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(y(),d(`span`,he,`v`+s(c(R)),1))])):m(``,!0),l(`div`,ge,[l(`span`,_e,s(n.$t(`views.settings.server`)),1),c(q)?(y(),u(i,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(y(),d(`span`,ve,[_(` v`+s(c(L)),1),c(Y)?(y(),d(re,{key:0},[_(` → v`+s(c(J)),1)],64)):m(``,!0)]))]),c(M)&&c(V)||!c(K)?(y(),d(`div`,ye,[r[5]||=l(`div`,{class:`ml-auto`},null,-1),c(M)&&c(V)?(y(),u(a,{key:0,disabled:!c(M),loading:c(q),class:`cui-button-medium`,label:`${n.$t(`components.form.button.update`)} (v${c(V)})`,onClick:Re},null,8,[`disabled`,`loading`,`label`])):m(``,!0),!c(K)&&c(Y)?(y(),u(a,{key:1,loading:c(q),disabled:c(X),class:`cui-button-medium`,label:`${n.$t(`components.form.button.restart`)} (v${c(J)})`,onClick:r[0]||=e=>$(`restart`)},null,8,[`loading`,`disabled`,`label`])):!c(K)&&c(Q)?(y(),u(a,{key:2,loading:c(q),disabled:c(X),class:`cui-button-medium`,label:`${n.$t(`components.form.button.update`)} (v${c(Q)})`,onClick:r[1]||=e=>$(`install`)},null,8,[`loading`,`disabled`,`label`])):m(``,!0),c(K)?m(``,!0):(y(),u(a,{key:3,loading:c(q),disabled:c(X),class:`cui-button-medium`,label:n.$t(`components.form.button.manage`),onClick:r[2]||=e=>$(`versions`)},null,8,[`loading`,`disabled`,`label`]))])):m(``,!0)])]),_:1})]),c(M)?m(``,!0):(y(),d(`div`,be,[l(`span`,xe,s(n.$t(`views.settings.certificate`)),1),v(o,{class:`cui-card`},{content:p(()=>[l(`div`,Se,[l(`span`,Ce,s(n.$t(`views.settings.certificate_info`)),1),v(a,{loading:c(H)||c(q),disabled:c(X),class:`cui-button-medium ml-auto`,label:n.$t(`components.form.button.download`),onClick:Fe},null,8,[`loading`,`disabled`,`label`])])]),_:1})])),l(`div`,null,[l(`span`,we,s(n.$t(`views.settings.restart_server`)),1),v(o,{class:`cui-card`},{content:p(()=>[l(`div`,Te,[l(`span`,Ee,s(n.$t(`views.settings.restart_server_info`)),1),v(a,{loading:c(q),disabled:c(X),class:`cui-button-medium ml-auto`,label:n.$t(`components.form.button.restart`),onClick:r[3]||=e=>$(`restart`)},null,8,[`loading`,`disabled`,`label`])])]),_:1})]),(`hasPermission`in n?n.hasPermission:c(x))(void 0,`master`)?(y(),d(`div`,S,[l(`span`,C,s(n.$t(`views.settings.reset_server`)),1),v(o,{class:`cui-card !border-red-900`},{content:p(()=>[l(`div`,w,[l(`span`,T,s(n.$t(`views.settings.reset_server_info`)),1),v(a,{loading:c(q),disabled:c(X),class:`cui-button-medium ml-auto`,label:n.$t(`components.form.button.reset`),onClick:r[4]||=e=>$(`reset`)},null,8,[`loading`,`disabled`,`label`])])]),_:1})])):m(``,!0)])])}}});export{E as default};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{Hn as e,Vn as t,fi as n}from"./vendor-cameraui-DgSMexWY.js";import{T as r}from"./api-Cntxdwiu.js";import{$ as i,$n as a,En as o,Er as s,Ln as c,Rn as l,Sr as u,Vn as ee,Zn as d,br as te,dn as f,fn as ne,lr as re,mn as p,mr as m,nr as ie,on as ae,rr as oe,un as h,ur as g,xn as _,yn as v,zn as y}from"./vendor-DoIl6acN.js";import{t as se}from"./useSharedComposables-gpJ--qZh.js";import{J as ce,j as le}from"./vendor-primevue-7iEzPOvf.js";import{t as ue}from"./plugins-C_Mh_UEw.js";import{n as de,t as fe}from"./useLogsSocket-gXiAENMr.js";import{a as pe,i as me,n as he,o as b,r as ge,t as _e}from"./vendor-markdown-UV_ycMZu.js";import{t as ve}from"./server-GaO6jF81.js";var x={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function S(e,t){return y(),p(`svg`,x,[...t[0]||=[f(`path`,{fill:`currentColor`,d:`M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12z`},null,-1)]])}var ye=g({name:`mdi-content-copy`,render:S});function C(e){return`id`in e&&!(`type`in e)}function w(e){return`type`in e}var be={key:0},xe={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},Se={class:`text-muted mb-3`},Ce={class:`list-disc pl-5 space-y-1`},we={key:1},Te={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},Ee=[`innerHTML`],De={key:2},Oe={class:`text-muted`},ke={key:3},Ae={class:`cui-label`},je={key:4,class:`w-full h-full relative`},Me={key:5,class:`w-full h-full p-4 flex items-center justify-center`},T=_({__name:`VersionsHandler`,props:{target:{},installVersion:{},isNewPlugin:{type:Boolean},action:{}},setup(g,{expose:_}){b.registerLanguage(`typescript`,ge),b.registerLanguage(`yaml`,he),b.registerLanguage(`json`,pe),b.registerLanguage(`python`,me);let x=new ue,S=new ve,T=i(),E=g,D=r(),{t:O}=n(),{mdBreakpoint:k}=se(),A=o(`dialogRef`),j=o(`dialogRefProps`),{target:M,installVersion:N,isNewPlugin:P}=te(E);x.toggleQueryActivator(`getPluginVersionsQuery`,!1),x.toggleQueryActivator(`getPluginChangelogQuery`,!1),x.toggleQueryActivator(`getPluginCompatQuery`,!1),S.toggleQueryActivator(`checkVersionQuery`,!1);let Ne=h(()=>C(M.value)?M.value.pluginName:`server`),F=h(()=>E.action===`uninstall`&&C(M.value)),I=fe({target:Ne.value,onStdout:e=>V.value?.writeTerminal(e),onDisconnect:()=>V.value?.writeTerminal(`
|
|
2
|
-
\rWebsocket failed to connect! Is the server running?\r
|
|
3
|
-
\r
|
|
4
|
-
`),onClearLog:()=>V.value?.clearTerminal(),onReconnected:()=>{V.value?.writeTerminal(`\r
|
|
5
|
-
--- Reconnected ---\r
|
|
6
|
-
\r
|
|
7
|
-
`)}}),L=h(()=>({pluginversion:H.value||N.value})),{data:Pe,isBusy:R}=S.checkVersionQuery(),{data:Fe,isBusy:z}=x.getPluginVersionsQuery(C(M.value)?M.value.pluginName:``),{data:Ie,isBusy:Le,suspense:Re}=x.getPluginChangelogQuery(C(M.value)?M.value.pluginName:``,L),{data:ze,suspense:Be}=x.getPluginCompatQuery(C(M.value)?M.value.pluginName:``,L),{mutate:Ve,isPending:He}=S.restartServerQuery(),{mutate:Ue,isPending:We}=x.restartPluginQuery(),{mutateAsync:Ge,isPending:Ke}=x.installPluginQuery(),{mutateAsync:qe,isPending:Je}=x.uninstallPluginQuery(),{mutateAsync:Ye,isPending:Xe}=S.updateServerQuery(),B=_e(`commonmark`,{highlight(e,t){if(t&&b.getLanguage(t))try{return`<pre><code class="hljs">`+b.highlight(e,{language:t,ignoreIllegals:!0}).value+`</code></pre>`}catch{}return`<pre><code class="hljs">`+B.utils.escapeHtml(e)+`</code></pre>`}}),V=d(`consoleRef`),H=m(),U=m(!1),W=m(!1),G=m(!1),K=m(!1),q=m(!1),J=m(!1),Y=m(!1),X=m(!1),Ze=h(()=>z.value||R.value),Qe=h(()=>!!(j.loading?.value||z.value||R.value||Le.value||Ke.value||Je.value||Xe.value||We.value||He.value)),Z=h(()=>C(M.value)?Fe.value?.versions||[]:w(M.value)&&Pe.value?.versions||[]),$e=h(()=>ze.value?.issues??[]),et=h(()=>{if(C(M.value))return Ie.value}),tt=h(()=>({fontSize:k.value?12:14}));function Q(){U.value=!0,I.connect()}async function nt(){if(C(M.value))try{x.toggleQueryActivator(`getPluginChangelogQuery`,!0);let{isError:e}=await Re();if(e)throw Error(`Failed to fetch changelog`);W.value=!0}catch{}else w(M.value)}async function rt(){if(C(M.value))try{x.toggleQueryActivator(`getPluginCompatQuery`,!0),await Be(),$e.value.length&&(J.value=!0)}catch{}}function it(e){return!(!C(M.value)||M.value.private||e===M.value.installedVersion)}async function $(e){if(!W.value&&it(e)&&(await nt(),W.value)){j.confirmText&&(j.confirmText.value=O(`components.form.button.continue`)),q.value=!0;return}if(!Y.value&&(Y.value=!0,await rt(),J.value)){j.confirmText&&(j.confirmText.value=O(`components.form.button.continue`)),X.value=!0;return}Q();try{C(M.value)?await Ge({pluginData:{pluginname:M.value.pluginName,pluginversion:e}}):w(M.value)&&(await Ye({serverData:{version:e}}),T.invalidateQueries({queryKey:[`api`]})),G.value=!0,j.confirmText&&(j.confirmText.value=P.value?O(`components.form.button.finish`):O(`components.form.button.restart`))}catch(e){D.add({severity:`error`,detail:e,life:3e3})}}async function at(){if(C(M.value)){Q();try{await qe({pluginName:M.value.pluginName}),K.value=!0,j.confirmText&&(j.confirmText.value=O(`components.form.button.finish`))}catch(e){D.add({severity:`error`,detail:e,life:3e3})}}}function ot(){C(M.value)?Ue({pluginName:M.value.pluginName}):w(M.value)&&Ve()}async function st(){if(F.value)return K.value?void 0:(await at(),null);if(!(G.value&&P.value)){if(G.value){ot();return}return q.value?(q.value=!1,N.value?await $(N.value):H.value&&await $(H.value),null):X.value?(X.value=!1,N.value?await $(N.value):H.value&&await $(H.value),null):N.value?(await $(N.value),null):H.value?(await $(H.value),null):(D.add({severity:`error`,detail:O(`components.toast.no_version_selected`),life:3e3}),null)}}return a(Z,e=>{e.length&&(H.value=e[0])},{immediate:!0,deep:!0}),a(U,e=>{e?A.value.data.dialogContentClass=`not-md:px-0 h-full md:h-[50vh]`:delete A.value.data.dialogContentClass}),a(k,e=>{!e&&(U.value||W.value)&&A.value.options.props&&(A.value.options.props.style.height=`60vh`,A.value.options.props.style.width=`70vh`,A.value.options.props.style.maxWidth=`100%`)}),c(()=>{F.value||(N.value?$(N.value):C(M.value)?x.toggleQueryActivator(`getPluginVersionsQuery`,!0):w(M.value)&&S.toggleQueryActivator(`checkVersionQuery`,!0))}),l(()=>{I.disconnect()}),_({isLoading:Qe,onConfirm:st}),(n,r)=>{let i=le,a=ye,o=e,c=de,l=t,d=ce;return y(),p(`div`,null,[u(J)&&!u(U)?(y(),p(`div`,be,[f(`h3`,xe,s(n.$t(`components.form.label.compatibility`)),1),f(`p`,Se,s(n.$t(`components.dialog.message.compatibility_warning`)),1),f(`ul`,Ce,[(y(!0),p(ae,null,ee(u($e),e=>(y(),p(`li`,{key:e.engine,class:`text-sm`},s(n.$t(`components.dialog.message.compatibility_engine`,{engine:e.engine,required:e.required,current:e.current})),1))),128))])])):u(W)&&u(et)&&!u(U)?(y(),p(`div`,we,[f(`h3`,Te,s(n.$t(`components.form.label.changelog`)),1),f(`div`,{class:`markdown-body`,innerHTML:u(B).render(u(et))},null,8,Ee)])):u(F)&&!u(U)?(y(),p(`div`,De,[f(`p`,Oe,s(n.$t(`components.dialog.message.confirm_uninstall_plugin`)),1)])):!u(N)&&!u(U)&&!u(W)?(y(),p(`div`,ke,[f(`label`,Ae,s(n.$t(`components.form.label.version`)),1),v(i,{modelValue:u(H),"onUpdate:modelValue":r[0]||=e=>re(H)?H.value=e:null,options:u(Z),loading:u(Ze),class:`w-full mt-2`},null,8,[`modelValue`,`options`,`loading`])])):u(U)?(y(),p(`div`,je,[oe((y(),ne(o,{type:`button`,severity:`secondary`,rounded:``,class:`!absolute top-2 right-2 z-10 !w-8 !h-8 !p-0 opacity-70 hover:opacity-100`,onClick:r[1]||=e=>u(V)?.copyAll()},{default:ie(()=>[v(a,{class:`w-4 h-4`})]),_:1})),[[d,n.$t(`components.form.button.copy`),void 0,{left:!0}]]),v(c,{ref_key:`consoleRef`,ref:V,options:u(tt),class:`bg-black !w-full`,"ignore-breakpoint":``,onResize:u(I).reportSize},null,8,[`options`,`onResize`])])):(y(),p(`div`,Me,[v(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]))])}}});export{T as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Hn as e,Vn as t,ct as n,fi as r,tt as i,vi as a}from"./vendor-cameraui-DgSMexWY.js";import{C as o,P as s,T as c,b as l}from"./api-Cntxdwiu.js";import{$ as u,Er as d,Nn as f,Rn as p,Sr as m,Y as h,ar as g,dn as _,fr as v,jn as y,mn as b,mr as x,nr as S,pn as C,un as w,xn as T,yn as E,zn as D}from"./vendor-DoIl6acN.js";import{t as O}from"./useSharedComposables-gpJ--qZh.js";import{L as ee,R as k,j as A,x as te}from"./vendor-primevue-7iEzPOvf.js";import{t as ne}from"./circular-connection-BTKd-doI.js";import{t as j}from"./cameras-DRRy289F.js";import{t as re}from"./CuiActionButton-Bl7gqhIV.js";import{t as ie}from"./copy-16-filled-CZzRMAt_.js";import{t as M}from"./CuiTopbarSlot-ac4GLLbf.js";import{t as N}from"./CuiDataTable-saRt0sBc.js";import{t as P}from"./back-filled-DqCMpeEk.js";import{n as F,t as I}from"./round-restart-alt-BJAngKc7.js";async function L(){return(await s.get(`/workers/token`)).data}async function R(){return(await s.post(`/workers/token`)).data}async function z(e){await s.post(`/workers/${e}/restart`)}async function B({cameraId:e,agentId:t}){return(await s.post(`/workers/assign`,{cameraId:e,agentId:t})).data}async function V({cameraId:e}){return(await s.post(`/workers/unassign`,{cameraId:e})).data}var ae=class{_queryClient=u();toast=c();queryActivator=x([{name:`getWorkerAuthTokenQuery`,enabled:!0}]);getWorkerAuthTokenQuery(){return o({queryKey:[`workersToken`],queryFn:()=>L(),enabled:()=>this.queryActivator.value.some(e=>e.name===`getWorkerAuthTokenQuery`&&e.enabled),retry:!1})}regenerateTokenQuery(){return h({mutationFn:R,onSuccess:e=>{this._queryClient.setQueryData([`workersToken`],e)}})}assignCameraQuery(){return h({mutationFn:B,onMutate:({cameraId:e,agentId:t})=>this.patchCameraWorker(e,t),onError:(e,t,n)=>{n?.rollback(),this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}unassignCameraQuery(){return h({mutationFn:V,onMutate:({cameraId:e})=>this.patchCameraWorker(e,void 0),onError:(e,t,n)=>{n?.rollback(),this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}restartWorkerQuery(){return h({mutationFn:z})}patchCameraWorker(e,t){let n=[];for(let[r,i]of this._queryClient.getQueriesData({queryKey:[`camerasList`]}))i?.result&&(n.push([r,i]),this._queryClient.setQueryData(r,{...i,result:i.result.map(n=>n._id===e?{...n,workerAgentId:t}:n)}));return{rollback:()=>{for(let[e,t]of n)this._queryClient.setQueryData(e,t)}}}},H=v({workers:[],workerHistory:{}}),U=null,W=null;function G(e){let t=H.workers.findIndex(t=>t.agentId===e.agentId);if(t!==-1){let n=[...H.workers];n[t]=e,H.workers=n}else H.workers=[...H.workers,e];let n=H.workerHistory[e.name]??[];H.workerHistory={...H.workerHistory,[e.name]:[...n,e].slice(-30)}}async function K(){if(W?.ready.value)try{H.workers=await W.request(`get-workers`)}catch{}}async function q(){if(W?.ready.value)try{H.workerHistory=await W.request(`get-worker-history`)}catch{}}async function J(){await Promise.all([K(),q()])}function Y(){return W||(U=g(!0),U.run(()=>{let e=l(`/workers`);W=e,e.on(`worker-update`,e=>G(e)),e.onReady(()=>{J()})}),W)}function oe(){function e(){Y()}function t(){}return{isConnected:w(()=>W?.connected.value??!1),workers:w(()=>H.workers),workerHistory:w(()=>H.workerHistory),connect:e,disconnect:t,loadAll:J}}var se={class:`flex flex-col`},ce={key:0,class:`page-title`},le={key:1,class:`w-full h-full flex items-center justify-center`},ue={key:2,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4`},de={class:`text-muted text-sm`},fe={key:3,class:`flex flex-col w-full gap-6`},pe={class:`card-title`},me={class:`card-title`},he={class:`text-muted text-sm`},ge={class:`font-bold text-color text-sm`},_e={class:`card-title`},ve={class:`flex flex-col gap-6`},ye={class:`text-sm`},be={key:0,class:`flex flex-col field-gap`},xe={class:`flex flex-row items-end justify-end`},X=T({__name:`Workers`,setup(o){let{t:s}=r(),{smBreakpoint:c}=O(),{copy:l}=a({legacy:!0}),u=oe(),{workers:h,workerHistory:g,isConnected:v}=u,T=new j,L=new ae,{data:R,isLoading:z}=T.getCamerasQuery(x({page:1,pageSize:999})),{data:B}=L.getWorkerAuthTokenQuery(),{mutateAsync:V}=L.assignCameraQuery(),{mutateAsync:H}=L.unassignCameraQuery(),{mutateAsync:U}=L.restartWorkerQuery(),{mutateAsync:W,isPending:G}=L.regenerateTokenQuery(),K={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm font-semibold`}}},q=x(!1),J=x([]),Y=x(new Set),X=w(()=>R.value?.result??[]),Z=w(()=>B.value?.token),Q=w(()=>new Set(h.value.map(e=>e.agentId))),Se=w(()=>[{type:`indicator`,field:`status`,columnProps:{headerClass:`w-5 max-w-5`,class:`w-5 max-w-5`},color(e){return e.online?`green`:`red`},tooltip(e){return e.online?s(`views.workers.online`):s(`views.workers.offline`)}},{type:`category`,field:`name`,name:s(`views.workers.name`),columnProps:{headerClass:`w-40 min-w-40 max-w-40`,class:`w-40 min-w-40 max-w-40`},props:{class:`font-bold text-color`}},{type:`category`,field:`pid`,name:s(`views.workers.pid`),columnProps:{headerClass:`min-w-20`,class:`min-w-20`}},{type:`category`,field:`cpuLoad`,suffix:`%`,name:s(`views.workers.cpu`),asChip:!0,columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`chart`,field:`cpu_chart`,for:`cpuLoad`,columnProps:{headerClass:`min-w-[250px]`,class:`min-w-[250px]`}},{type:`category`,field:`memLoad`,suffix:`%`,name:s(`views.workers.memory`),asChip:!0,columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`chart`,field:`memory_chart`,for:`memLoad`,columnProps:{headerClass:`min-w-[250px]`,class:`min-w-[250px]`}},{type:`action`,field:`restart`,icon:I,columnProps:{class:`text-right`},loading(e){return J.value.includes(e.name)},disabled(e){return!e.online},action(e){we(e.name,e.agentId)}}]),Ce=w(()=>{let e=g.value;return Object.keys(e).reduce((t,n)=>{for(let r of[`cpuLoad`,`memLoad`]){let i=e[n]??[],a=i.slice(-30).filter(e=>e[r]!==void 0).map(e=>parseFloat(e[r])),o=i.slice(-30).map(e=>e.lastHeartbeat),s=[...a,...Array(30-a.length).fill(0)],c=[...o,...Array(30-o.length).fill(null)];t[`${n}_${r}`]={labels:c,datasets:[{data:s,backgroundColor:e=>{let t=e.raw;return t>=90?`#FA5252`:t>=50?`#FF9966`:`#df2a4c`},borderWidth:0,borderRadius:3,barPercentage:.8,categoryPercentage:.8,maxBarThickness:4,barThickness:4}]}}return t},{})});async function we(e,t){J.value.push(e);try{await U(t)}finally{J.value=J.value.filter(t=>t!==e)}}function Te(){let e=[];for(let t of h.value)e.push({label:t.name,value:t.agentId});return e}function Ee(e){return e&&Q.value.has(e)?e:null}function $(e){return Y.value.has(e)}async function De(e,t){let n=new Set(Y.value);n.add(e._id),Y.value=n;try{t?await V({cameraId:e._id,agentId:t}):await H({cameraId:e._id})}catch{}finally{let t=new Set(Y.value);t.delete(e._id),Y.value=t}}async function Oe(){try{await W()}catch{}}return f(async()=>{u.connect(),await y(),u.loadAll(),q.value=!0}),p(()=>{u.disconnect()}),(r,a)=>{let o=P,s=e,u=M,f=t,p=ne,g=F,y=te,x=A,w=N,T=n,O=i,j=re,I=ee,L=k;return D(),b(`div`,se,[m(c)?C(``,!0):(D(),b(`h1`,ce,d(r.$t(`views.workers.title`)),1)),E(u,{position:`left`},{default:S(()=>[E(s,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:a[0]||=e=>r.$router.push(`/menu`)},{icon:S(()=>[E(o,{class:`w-6 h-6`})]),_:1})]),_:1}),!m(q)||!m(v)?(D(),b(`div`,le,[E(f,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):m(h).length?(D(),b(`div`,fe,[_(`div`,null,[_(`span`,pe,d(r.$t(`views.workers.workers`)),1),E(g,{items:m(h),headers:m(Se),"chart-data":m(Ce)},null,8,[`items`,`headers`,`chart-data`])]),_(`div`,null,[_(`span`,me,d(r.$t(`views.workers.camera_assignments`)),1),E(T,{class:`cui-card`},{content:S(()=>[E(w,{value:m(X),loading:m(z),pt:K,"striped-rows":``,class:`w-full`},{loading:S(()=>[E(f,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:S(()=>[_(`span`,he,d(r.$t(`views.workers.no_cameras`)),1)]),default:S(()=>[E(y,{field:`name`,header:r.$t(`views.workers.camera`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:S(({data:e})=>[_(`span`,ge,d(e.name),1)]),_:1},8,[`header`]),E(y,{header:r.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:S(({data:e})=>[E(x,{"model-value":Ee(e.workerAgentId),options:Te(),"option-label":`label`,"option-value":`value`,placeholder:r.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:$(e._id),disabled:$(e._id),"onUpdate:modelValue":t=>De(e,t)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})]),_(`div`,null,[_(`span`,_e,d(r.$t(`views.workers.auth_token`)),1),E(T,{class:`cui-card`},{content:S(()=>[_(`div`,ve,[_(`span`,ye,d(r.$t(`views.workers.auth_token_description`)),1),m(Z)===void 0?C(``,!0):(D(),b(`div`,be,[E(L,null,{default:S(()=>[E(O,{"model-value":m(Z)||``,readonly:``,type:`text`,placeholder:r.$t(`views.workers.no_token`)},null,8,[`model-value`,`placeholder`]),E(I,null,{default:S(()=>[E(j,{"action-text":r.$t(`views.workers.copied`),icon:m(ie),"button-props":{severity:`secondary`,disabled:!m(Z),text:!0},onAction:a[1]||=e=>m(l)(m(Z))},null,8,[`action-text`,`icon`,`button-props`])]),_:1})]),_:1})])),_(`div`,xe,[E(s,{class:`cui-button-medium`,label:r.$t(`views.workers.regenerate_token`),loading:m(G),onClick:Oe},null,8,[`label`,`loading`])])])]),_:1})])])):(D(),b(`div`,ue,[E(p,{class:`w-12 h-12 text-muted`}),_(`span`,de,d(r.$t(`views.workers.no_workers`)),1)]))])}}});export{X as default};
|