@camera.ui/server 0.0.111 → 0.0.113
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/interface/assets/{404-CGV2uv4y.js → 404-CZtDF9in.js} +1 -1
- package/dist/interface/assets/{About-Cc2eFlW5.js → About-BzuuHdW1.js} +1 -1
- package/dist/interface/assets/{Adminpanel-EjUhiapF.js → Adminpanel-uj7eTmlN.js} +1 -1
- package/dist/interface/assets/Automation-D0ps_z9e.js +2 -0
- package/dist/interface/assets/AutomationImport-CR4Vsxkb.js +2 -0
- package/dist/interface/assets/AutomationStore-BcMX7WbG.js +2 -0
- package/dist/interface/assets/AutomationStore-Q25Okhz8.css +1 -0
- package/dist/interface/assets/AutomationStoreDetail--egqUOqn.css +1 -0
- package/dist/interface/assets/AutomationStoreDetail-D6Ugj8ba.js +2 -0
- package/dist/interface/assets/Automations-DBACrYHy.js +2 -0
- package/dist/interface/assets/{Camera-C3Il4X2T.js → Camera-Cf4QZbsx.js} +2 -2
- package/dist/interface/assets/{CameraConsole-70m5hucZ.js → CameraConsole-uD4aWou8.js} +1 -1
- package/dist/interface/assets/{Cameras-BJUWRm26.js → Cameras-DbBU5mou.js} +2 -2
- package/dist/interface/assets/{Camview-Gxca3bvT.css → Camview-CDM4Q_tc.css} +1 -1
- package/dist/interface/assets/Camview-DD9jLT7-.js +1 -0
- package/dist/interface/assets/Config-B9jI0lTQ.js +2 -0
- package/dist/interface/assets/{ConfigActionCameraControl-DBRh1R9m.js → ConfigActionCameraControl-D4hJLWmj.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-MJAViQFR.js → ConfigActionNotification-B5cCmBXr.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-C2gSPDim.js → ConfigActionPlugin-B7YAbFlf.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-Dv7Hgx92.js → ConfigActionSensor-D_Dt1qtt.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-CB6IQ_jP.js → ConfigActionSnapshot-ClyCQuB3.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-Nd0_qDVA.js → ConfigConditionIfElse-Bhd2FYyz.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-CHYw1D90.js → ConfigConditionSensorState-x0M0kHwL.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-DsJEOPx0.js → ConfigConditionSwitch-CC0w-Hvy.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-C-e6Z1m9.js → ConfigTriggerDetection-DWjlecON.js} +1 -1
- package/dist/interface/assets/ConfigTriggerGeofence-CTqptMUN.js +1 -0
- package/dist/interface/assets/{ConfigTriggerSensor-C9DsLW_Z.js → ConfigTriggerSensor-DuCtavZo.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-CdOgSvDy.js → ConfigTriggerSystem-D1oGAhLn.js} +1 -1
- package/dist/interface/assets/{Console-bCie-JmB.js → Console-DrDqDUtO.js} +1 -1
- package/dist/interface/assets/{CuiAvatar-Bbdxpgvs.js → CuiAvatar-of_eVQsv.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-2SNSjqOZ.js → CuiBottomSheet-B7aQ7GCw.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-DKUg_g5x.js +1 -0
- package/dist/interface/assets/CuiCameraCard-IyJNZMGs.js +1 -0
- package/dist/interface/assets/{CuiCameraPipCard-BMxMzolT.js → CuiCameraPipCard-KUBxGPoU.js} +1 -1
- package/dist/interface/assets/{CuiCameraRecordings-DLjYt8vJ.js → CuiCameraRecordings-iWAFGo8e.js} +1 -1
- package/dist/interface/assets/{CuiCameraShares-CLN2wuHG.js → CuiCameraShares-BCMYN11A.js} +1 -1
- package/dist/interface/assets/{CuiCameraSnapshot-C7wIpD9K.js → CuiCameraSnapshot-DTtvEMy1.js} +1 -1
- package/dist/interface/assets/{CuiCameraTable-CCpYHBTn.js → CuiCameraTable-B7g53tPM.js} +1 -1
- package/dist/interface/assets/{CuiImage-CoVi1BKR.js → CuiImage-B97QDAl7.js} +1 -1
- package/dist/interface/assets/{CuiMarkdownContent-YieurDkL.js → CuiMarkdownContent-DaJ8HzaP.js} +1 -1
- package/dist/interface/assets/CuiMarkdownContent-qIS8eQHX.js +1 -0
- package/dist/interface/assets/{CuiMenu-vSJpyg_1.js → CuiMenu-Ds6GufVn.js} +1 -1
- package/dist/interface/assets/{CuiPluginCard-CwGKyEU6.js → CuiPluginCard-D1SylQbM.js} +2 -2
- package/dist/interface/assets/CuiPluginCategoryChip-CdGrTCxH.css +1 -0
- package/dist/interface/assets/CuiPluginCategoryChip-rfdhCEi-.js +1 -0
- package/dist/interface/assets/{CuiPluginOAuthButton-CxNqrBe7.js → CuiPluginOAuthButton-X8ZGFPwW.js} +2 -2
- package/dist/interface/assets/CuiPluginTrustBadge-QHTLaN1n.css +1 -0
- package/dist/interface/assets/CuiPluginTrustBadge-YhfqGTyR.js +1 -0
- package/dist/interface/assets/{CuiQRCode-CP6aDzF5.js → CuiQRCode-D_31ri5b.js} +1 -1
- package/dist/interface/assets/{CuiRecordingsGrid-BNyITEKD.js → CuiRecordingsGrid-CzMzhUXb.js} +1 -1
- package/dist/interface/assets/{CuiSchema-Bdy2raxw.js → CuiSchema-CfqOJmDH.js} +1 -1
- package/dist/interface/assets/{Faces-DufdNYrc.js → Faces-IVmqcGuF.js} +1 -1
- package/dist/interface/assets/FirstSteps-Boec1bzd.js +1 -0
- package/dist/interface/assets/{Instances-CxgKUsJh.js → Instances-kmkRiBrV.js} +1 -1
- package/dist/interface/assets/{Logs-CJcq3xd6.js → Logs-DzR8mmLu.js} +2 -2
- package/dist/interface/assets/{Menu-BlYf1LF3.js → Menu-Cl-biyd7.js} +1 -1
- package/dist/interface/assets/{OAuthDeviceFlow-k6_zfcw_.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-CQebF4NZ.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-CcWTcoz_.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-XjGr5qdW.css +1 -0
- package/dist/interface/assets/Plugins-DMLQY_6J.js +1 -0
- package/dist/interface/assets/{Recordings-BgqhrYcF.js → Recordings--XaVJZJi.js} +1 -1
- package/dist/interface/assets/{Settings-BVa4xU_p.js → Settings-BljKDhYY.js} +1 -1
- package/dist/interface/assets/SettingsAccount-DFMOh1ci.js +1 -0
- package/dist/interface/assets/{SettingsAccount-UKbQLW6n.js → SettingsAccount-DKHO4mDj.js} +1 -1
- package/dist/interface/assets/SettingsAppearance-DzG2tlwK.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-e45pjRF6.js → SettingsAppearance-V5aeQ9c8.js} +1 -1
- package/dist/interface/assets/{SettingsBackup-t2irnG2Z.js → SettingsBackup-CfOHDar8.js} +1 -1
- package/dist/interface/assets/{SettingsNotifications-te4LKEdZ.js → SettingsNotifications-BZ1IXj0a.js} +1 -1
- package/dist/interface/assets/{SettingsRecordings-x4yRgxJm.js → SettingsRecordings-BsJ9z-RE.js} +1 -1
- package/dist/interface/assets/SettingsRemote-Bf8bqXYs.js +1 -0
- package/dist/interface/assets/SettingsSystem-obAYrm8J.js +2 -0
- package/dist/interface/assets/{SettingsUsers-DLAYh9IA.js → SettingsUsers-Ciu1ry18.js} +1 -1
- package/dist/interface/assets/{Terminal-BsdUon5-.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/account-DqOHQKv8.js +1 -0
- package/dist/interface/assets/alert-circle-azHizGIK.js +1 -0
- package/dist/interface/assets/api-CbBOEbKQ.js +1 -0
- package/dist/interface/assets/api-aSYFKxo6.js +2 -0
- package/dist/interface/assets/api-vCJ1T8Ow.css +2 -0
- package/dist/interface/assets/{auth-DJ1WgC3s.js → auth-cdPNNpNC.js} +1 -1
- package/dist/interface/assets/automationBlueprint-DMjszOs4.js +1 -0
- package/dist/interface/assets/automations-E7vwN3kw.js +1 -0
- package/dist/interface/assets/{backup-DYBEA8gj.js → backup-Co1bwdSv.js} +1 -1
- package/dist/interface/assets/bell-ring-CenQn4Yt.js +1 -0
- package/dist/interface/assets/bug-DPw8k4Lk.js +1 -0
- package/dist/interface/assets/{cameras-WikE4nxe.js → cameras-CvJDLEZ3.js} +1 -1
- package/dist/interface/assets/{cameras.schema-BULBdfmS.js → cameras.schema-Clwro_L9.js} +1 -1
- package/dist/interface/assets/cctv-CBtg_v6o.js +1 -0
- package/dist/interface/assets/check-circle-BauXcL6H.js +1 -0
- package/dist/interface/assets/clock-outline-MhJC2-0d.js +1 -0
- package/dist/interface/assets/cloudHandoff-Bym-XqR1.js +1 -0
- package/dist/interface/assets/{deviceId-DMh1VcHg.js → deviceId-OXLTtG-_.js} +1 -1
- package/dist/interface/assets/github-DLhaVazy.js +1 -0
- package/dist/interface/assets/{hasPermission-DdAdlKls.js → hasPermission-P1TgpAur.js} +1 -1
- package/dist/interface/assets/{instances-BBnYdgRc.js → instances-DwnEOXk1.js} +1 -1
- package/dist/interface/assets/{locale-qn_8MsnX.js → locale-BWvy9Nlz.js} +1 -1
- package/dist/interface/assets/main-CIorSaV7.js +3 -0
- package/dist/interface/assets/motion-sensor-DD8SfD-m.js +1 -0
- package/dist/interface/assets/nodeDefinitions-Dvawtk76.js +1 -0
- package/dist/interface/assets/{notifications-DGRbcf65.js → notifications-DHmx6O_s.js} +1 -1
- package/dist/interface/assets/platformLabels-D-cF6OTP.js +1 -0
- package/dist/interface/assets/plugins-NVAodP6s.js +1 -0
- package/dist/interface/assets/puzzle-filled-C1z2qa5-.js +1 -0
- package/dist/interface/assets/refresh-rounded-Bqiw9DUu.js +1 -0
- package/dist/interface/assets/{round-restart-alt-wyrnMpa4.js → round-restart-alt-c8MQjhLh.js} +1 -1
- package/dist/interface/assets/router-i0r3QZvk.js +2 -0
- package/dist/interface/assets/server-CRxodRik.js +1 -0
- package/dist/interface/assets/shares-4w6GDwjp.js +1 -0
- package/dist/interface/assets/source-branch-Cd8fHY0E.js +1 -0
- package/dist/interface/assets/{theme-DhiUIeo3.js → theme-DhaXe7yA.js} +1 -1
- package/dist/interface/assets/types-6RvFwckU.js +1 -0
- package/dist/interface/assets/types-BXo-JDGR.js +1 -0
- package/dist/interface/assets/types-v-mK9gdq.css +1 -0
- package/dist/interface/assets/{useBiometricCredentials-DDyhIy7O.js → useBiometricCredentials-BGRyKe48.js} +1 -1
- package/dist/interface/assets/{useCameraOptions-CoogpQnN.js → useCameraOptions-CO1HD_gL.js} +1 -1
- package/dist/interface/assets/useCuiDialog-DHktK-mZ.js +2 -0
- package/dist/interface/assets/{useFileDownload-CSek7CzK.js → useFileDownload-Cp1oH80I.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-rG2BaLWl.js → useLogsSocket-OnTDnkPr.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-BdN05nfE.js → useStreamStatus-N--czepD.js} +1 -1
- package/dist/interface/assets/useUserOptions-CPkl1O0A.js +1 -0
- package/dist/interface/assets/{users.schema-Bz59q-My.js → users.schema-BIL9DqRo.js} +1 -1
- package/dist/interface/assets/{view-grid-Cs5VWmxE.js → view-grid-B0KB2pRf.js} +1 -1
- package/dist/interface/assets/webhook-Dgi5u5S_.js +1 -0
- package/dist/interface/index.html +36 -30
- package/dist/interface/sw.js +1 -1
- package/dist/interface/{workbox-5f44db27.js → workbox-778a14ff.js} +1 -1
- package/dist/server/package.json +1 -1
- package/dist/server/src/api/controllers/automations.controller.d.ts +3 -1
- package/dist/server/src/api/controllers/automations.controller.js +26 -1
- package/dist/server/src/api/controllers/automations.controller.js.map +1 -1
- package/dist/server/src/api/controllers/plugins.controller.d.ts +4 -0
- package/dist/server/src/api/controllers/plugins.controller.js +181 -56
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/controllers/server.controller.js +3 -2
- package/dist/server/src/api/controllers/server.controller.js.map +1 -1
- package/dist/server/src/api/controllers/workers.controller.d.ts +9 -4
- package/dist/server/src/api/controllers/workers.controller.js +132 -9
- package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
- package/dist/server/src/api/database/index.d.ts +0 -1
- package/dist/server/src/api/database/index.js +0 -14
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +29 -1
- package/dist/server/src/api/routes/automations.routes.js +23 -1
- package/dist/server/src/api/routes/automations.routes.js.map +1 -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/automations.schema.d.ts +8 -0
- package/dist/server/src/api/schemas/automations.schema.js +6 -0
- package/dist/server/src/api/schemas/automations.schema.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/plugins.schema.d.ts +1 -0
- package/dist/server/src/api/schemas/plugins.schema.js +1 -0
- package/dist/server/src/api/schemas/plugins.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/backup.service.js +7 -1
- package/dist/server/src/api/services/backup.service.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 +64 -0
- package/dist/server/src/api/utils/cert.js +43 -9
- package/dist/server/src/api/utils/cert.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/server.d.ts +0 -2
- package/dist/server/src/api/websocket/nsp/server.js +1 -8
- package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/workers.d.ts +0 -3
- package/dist/server/src/api/websocket/nsp/workers.js +4 -17
- package/dist/server/src/api/websocket/nsp/workers.js.map +1 -1
- package/dist/server/src/camera/decoder/worker.d.ts +3 -0
- package/dist/server/src/camera/decoder/worker.js +55 -34
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/dist/server/src/main.js +5 -3
- package/dist/server/src/main.js.map +1 -1
- package/dist/server/src/manager/downloadManager.d.ts +6 -0
- package/dist/server/src/manager/downloadManager.js +162 -3
- package/dist/server/src/manager/downloadManager.js.map +1 -1
- package/dist/server/src/plugins/bundle.d.ts +2 -0
- package/dist/server/src/plugins/bundle.js +24 -0
- package/dist/server/src/plugins/bundle.js.map +1 -0
- package/dist/server/src/plugins/config-store.d.ts +16 -0
- package/dist/server/src/plugins/config-store.js +33 -0
- package/dist/server/src/plugins/config-store.js.map +1 -0
- package/dist/server/src/plugins/index.d.ts +1 -1
- package/dist/server/src/plugins/index.js +3 -17
- package/dist/server/src/plugins/index.js.map +1 -1
- package/dist/server/src/plugins/main-file.d.ts +2 -0
- package/dist/server/src/plugins/main-file.js +24 -0
- package/dist/server/src/plugins/main-file.js.map +1 -0
- package/dist/server/src/plugins/plugin.d.ts +0 -1
- package/dist/server/src/plugins/plugin.js +7 -25
- package/dist/server/src/plugins/plugin.js.map +1 -1
- package/dist/server/src/plugins/runtime/base.d.ts +23 -7
- package/dist/server/src/plugins/runtime/base.js +32 -29
- package/dist/server/src/plugins/runtime/base.js.map +1 -1
- package/dist/server/src/plugins/runtime/index.d.ts +2 -3
- package/dist/server/src/plugins/runtime/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/child.d.ts +1 -0
- package/dist/server/src/plugins/runtime/node/child.js +24 -4
- package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/configDb.d.ts +15 -0
- package/dist/server/src/plugins/runtime/node/configDb.js +18 -0
- package/dist/server/src/plugins/runtime/node/configDb.js.map +1 -0
- package/dist/server/src/plugins/runtime/node/index.d.ts +2 -2
- package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/pluginApi.d.ts +2 -2
- package/dist/server/src/plugins/runtime/node/pluginApi.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +2 -0
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +5 -0
- package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/downloadManager.js +6 -2
- package/dist/server/src/plugins/runtime/node/proxy/downloadManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/fileServe.d.ts +13 -0
- package/dist/server/src/plugins/runtime/node/proxy/fileServe.js +82 -0
- package/dist/server/src/plugins/runtime/node/proxy/fileServe.js.map +1 -0
- package/dist/server/src/plugins/runtime/node/remoteUrls.d.ts +1 -0
- package/dist/server/src/plugins/runtime/node/remoteUrls.js +32 -0
- package/dist/server/src/plugins/runtime/node/remoteUrls.js.map +1 -0
- package/dist/server/src/plugins/runtime/node/storage.d.ts +2 -2
- package/dist/server/src/plugins/runtime/node/storage.js +1 -1
- package/dist/server/src/plugins/runtime/node/storage.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/storageController.d.ts +2 -2
- package/dist/server/src/plugins/runtime/node/storageController.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/child.py +16 -4
- package/dist/server/src/plugins/runtime/python/config_db.py +42 -0
- package/dist/server/src/plugins/runtime/python/index.d.ts +2 -2
- package/dist/server/src/plugins/runtime/python/index.js +3 -1
- package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/namespaces.py +2 -0
- package/dist/server/src/plugins/runtime/python/plugin_api.py +2 -2
- package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +5 -0
- package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +6 -0
- package/dist/server/src/plugins/runtime/python/remote_urls.py +42 -0
- package/dist/server/src/plugins/runtime/python/storage.py +2 -2
- package/dist/server/src/plugins/runtime/python/storage_controller.py +2 -2
- package/dist/server/src/plugins/types.d.ts +2 -1
- package/dist/server/src/plugins/types.js +1 -0
- package/dist/server/src/plugins/types.js.map +1 -1
- package/dist/server/src/plugins/worker.d.ts +8 -0
- package/dist/server/src/plugins/worker.js +104 -2
- package/dist/server/src/plugins/worker.js.map +1 -1
- package/dist/server/src/rpc/index.d.ts +2 -1
- package/dist/server/src/rpc/index.js +43 -23
- package/dist/server/src/rpc/index.js.map +1 -1
- package/dist/server/src/rpc/interfaces/download.d.ts +10 -0
- package/dist/server/src/rpc/namespaces.d.ts +5 -1
- package/dist/server/src/rpc/namespaces.js +12 -2
- package/dist/server/src/rpc/namespaces.js.map +1 -1
- package/dist/server/src/rpc/server.d.ts +16 -2
- package/dist/server/src/rpc/server.js +146 -17
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/rpc/utils.d.ts +1 -1
- package/dist/server/src/rpc/utils.js +2 -0
- package/dist/server/src/rpc/utils.js.map +1 -1
- package/dist/server/src/services/config/constants.js +4 -1
- package/dist/server/src/services/config/constants.js.map +1 -1
- package/dist/server/src/services/config/index.d.ts +1 -0
- package/dist/server/src/services/config/index.js +16 -10
- package/dist/server/src/services/config/index.js.map +1 -1
- package/dist/server/src/services/config/types.d.ts +5 -1
- package/dist/server/src/utils/automation-registry/index.d.ts +17 -0
- package/dist/server/src/utils/automation-registry/index.js +58 -0
- package/dist/server/src/utils/automation-registry/index.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/utils/plugin-registry/index.d.ts +27 -0
- package/dist/server/src/utils/plugin-registry/index.js +127 -0
- package/dist/server/src/utils/plugin-registry/index.js.map +1 -0
- package/dist/server/src/workers/agent.d.ts +15 -9
- package/dist/server/src/workers/agent.js +157 -64
- package/dist/server/src/workers/agent.js.map +1 -1
- package/dist/server/src/workers/capabilities/frame-decoding.d.ts +7 -3
- package/dist/server/src/workers/capabilities/frame-decoding.js +44 -10
- package/dist/server/src/workers/capabilities/frame-decoding.js.map +1 -1
- package/dist/server/src/workers/capabilities/handler.d.ts +1 -0
- package/dist/server/src/workers/capabilities/plugin-host.d.ts +23 -0
- package/dist/server/src/workers/capabilities/plugin-host.js +160 -0
- package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -0
- package/dist/server/src/workers/manager.d.ts +28 -3
- package/dist/server/src/workers/manager.js +316 -92
- package/dist/server/src/workers/manager.js.map +1 -1
- package/dist/server/src/workers/pairing.d.ts +3 -0
- package/dist/server/src/workers/pairing.js +80 -0
- package/dist/server/src/workers/pairing.js.map +1 -0
- package/dist/server/src/workers/types.d.ts +42 -17
- package/dist/server/src/workers/types.js +4 -0
- package/dist/server/src/workers/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/interface/assets/Automation-C7HuyjXk.js +0 -2
- package/dist/interface/assets/Automations-DOj8Eo03.js +0 -1
- package/dist/interface/assets/Camview-BqFeqFU1.js +0 -1
- package/dist/interface/assets/Config--CF46OKO.js +0 -2
- package/dist/interface/assets/ConfigTriggerGeofence-DGnBxTWd.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-DX9ynJj_.js +0 -1
- package/dist/interface/assets/CuiCameraCard-CXO5aDTJ.js +0 -1
- package/dist/interface/assets/FirstSteps-Bpu4QLhF.js +0 -1
- package/dist/interface/assets/Plugin-CHdZvbiP.css +0 -1
- package/dist/interface/assets/Plugin-DcwR4dBy.js +0 -1
- package/dist/interface/assets/Plugins-DfMxKm_j.js +0 -2
- package/dist/interface/assets/Plugins-s1k811lf.css +0 -1
- package/dist/interface/assets/SettingsAccount-BcPNz9jC.js +0 -1
- package/dist/interface/assets/SettingsAppearance-De_E9UCe.js +0 -1
- package/dist/interface/assets/SettingsRemote-CBLPWHM6.js +0 -1
- package/dist/interface/assets/SettingsSystem-Du3S8gps.js +0 -2
- package/dist/interface/assets/VersionsHandler-DF_kclOb.js +0 -7
- package/dist/interface/assets/Workers-CXvuE4Bn.js +0 -1
- package/dist/interface/assets/api-BB9AG_h5.css +0 -2
- package/dist/interface/assets/api-BWWcvHf5.js +0 -2
- package/dist/interface/assets/api-DY4FSNX7.js +0 -1
- package/dist/interface/assets/automations-wQnuqfmi.js +0 -1
- package/dist/interface/assets/cloudHandoff-zXwtzo8e.js +0 -1
- package/dist/interface/assets/github-DNzKZdHG.js +0 -1
- package/dist/interface/assets/main-CjUbwZ3z.js +0 -3
- package/dist/interface/assets/nodeDefinitions-blmt-d7H.js +0 -1
- package/dist/interface/assets/plugins-tQniunmN.js +0 -1
- package/dist/interface/assets/router-CvWvXFyk.js +0 -2
- package/dist/interface/assets/server-CmXhhpSW.js +0 -1
- package/dist/interface/assets/shares-ZKyJZapA.js +0 -1
- package/dist/interface/assets/types-C9iWhZtk.js +0 -1
- package/dist/interface/assets/useCuiDialog-C50obC48.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{K as e,N as t,Ut as n,fi as r}from"./vendor-cameraui-DgSMexWY.js";import{
|
|
1
|
+
import{K as e,N as t,Ut as n,fi as r}from"./vendor-cameraui-DgSMexWY.js";import{A as i}from"./api-aSYFKxo6.js";import{$n as a,$t as o,Cr as s,En as c,Er as l,Ln as u,Sr as d,Zn as f,br as p,dn as m,fn as h,lr as g,mn as _,mr as v,nr as y,pn as b,un as x,ur as S,xn as C,yn as w,zn as T}from"./vendor-DoIl6acN.js";import{t as E}from"./CuiCameraCard-IyJNZMGs.js";import{t as D}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as O}from"./useSharedComposables-gpJ--qZh.js";import{b as k}from"./vendor-primevue-7iEzPOvf.js";import{t as A}from"./useFileDownload-Cp1oH80I.js";import{n as j}from"./types-ByBSoibP.js";import{t as M}from"./download-CY-SlBan.js";var N={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function P(e,t){return T(),_(`svg`,N,[...t[0]||=[m(`g`,{fill:`none`,"fill-rule":`evenodd`},[m(`path`,{d:`m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.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.004-.011l.017-.43l-.003-.012l-.01-.01z`}),m(`path`,{fill:`currentColor`,d:`M5 3a3 3 0 0 0-3 3v10a2 2 0 0 0 2 2V6a1 1 0 0 1 1-1h14a2 2 0 0 0-2-2zm0 5a2 2 0 0 1 2-2h13a2 2 0 0 1 2 2v11.333a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2zm15 0H7v7.848L10.848 12a1.25 1.25 0 0 1 1.768 0l3.241 3.24l.884-.883a1.25 1.25 0 0 1 1.768 0L20 15.848zm-2 3a1.5 1.5 0 1 1-3 0a1.5 1.5 0 0 1 3 0`})],-1)]])}var F=S({name:`mingcute-photo-album-fill`,render:P}),ee={class:`camera-stream-event-container`},te={class:`stream-wrapper`},ne={key:0,class:`ai-description-overlay`},re={class:`min-w-0`},I={class:`text-sm font-semibold text-white`},L={class:`text-xs text-white/85 mt-1`},R=D(C({__name:`CameraStreamEvent`,props:{camera:{},eventTimestamp:{}},setup(S,{expose:C}){let D=S,N=i(),P=r(),{t:F}=P,R=k(),{mdBreakpoint:z}=O(),B=c(`dialogRefProps`),V=c(`dialogHeaderToggles`,{}),{plugin:H}=n(`@camera.ui/camera-ui-nvr`),{camera:U,eventTimestamp:W}=p(D),G=f(`cameraCardRef`),K=f(`cuiTimelineRef`),q=v(!1),J=v(),Y=v(!1),X=!1,Z=e(x(()=>U.value._id),{sourceRole:J}),ie=x(()=>!!B.loading?.value),ae=x(()=>V[0]??!1),Q=x(()=>K.value?.currentEventDescription),oe=x(()=>!!K.value?.currentEvent),$=x(()=>K.value?.isLive??!0),se=x(()=>({locale:P.locale.value,dayNames:R.config.locale?.dayNames,dayNamesShort:R.config.locale?.dayNamesShort,monthNames:R.config.locale?.monthNames,monthNamesShort:R.config.locale?.monthNamesShort}));async function ce(){if(Y.value)return;let e=K.value?.currentEvent;if(!e)return;let t=H.value;if(t?.nvrExport){Y.value=!0;try{let n=await t.nvrExport(e.cameraId,e.startMs*1e3,e.endMs*1e3);await A({url:n.url,filename:n.filename})}catch(e){N.error(`Download failed:`,e)}finally{Y.value=!1}}}function le(e){G.value?.timelineScroll(e)}function ue(){let e=Z.currentTimestamp.value>0?Math.floor(Z.currentTimestamp.value/1e3):W.value;return e?`/cameras/${U.value.name}?startTs=${e}`:`/cameras/${U.value.name}`}return a([oe,$,Y],([e,t])=>{if(!B.headerActions)return;let n=[];n.push({icon:j,tooltip:F(`components.player.ai_descriptions`),toggle:!0,onClick:()=>{}}),!t&&e&&H.value&&n.push({icon:M,tooltip:F(`views.recordings.download`),onClick:ce,loading:Y.value}),B.headerActions.value=n},{immediate:!0}),W.value&&(Z.mode.value=`play`,Z.loading.value=!0),a([H,W],([e,t])=>{!e||!t||X||(X=!0,Z.play(t*1e3))},{immediate:!0}),u(()=>{setTimeout(()=>{q.value=!0},300)}),C({isLoading:ie,resolveGoTo:ue}),(e,n)=>{let r=E,i=j;return T(),_(`div`,ee,[m(`div`,te,[(T(),h(r,{ref_key:`cameraCardRef`,ref:G,key:d(U).name,"source-role":d(J),"onUpdate:sourceRole":n[0]||=e=>g(J)?J.value=e:null,"streaming-mode":`webrtc`,"camera-info":d(U).name,"flat-card":``,"card-props":{pt:{root:{class:{"!rounded-md":!0}}}},"camera-name-overlay":!1,toolbar:!1,subcontrol:!0,"subcontrol-quality-button":!0,"subcontrol-activity-mode-button":!1,"subcontrol-ptz-button":!1,"subcontrol-streaming-mode-button":!1,"control-pip-button":!1,"control-microphone-button":!1},null,8,[`source-role`,`camera-info`])),w(o,{"enter-active-class":`transition-all duration-300 ease-out`,"enter-from-class":`opacity-0 -translate-y-2`,"enter-to-class":`opacity-100 translate-y-0`,"leave-active-class":`transition-all duration-200 ease-in`,"leave-from-class":`opacity-100 translate-y-0`,"leave-to-class":`opacity-0 -translate-y-2`},{default:y(()=>[d(Q)&&d(ae)?(T(),_(`div`,ne,[w(i,{class:`w-4 h-4 text-white/90 shrink-0 mt-0.5`}),m(`div`,re,[m(`p`,I,l(d(Q).title),1),m(`p`,L,l(d(Q).description),1)])])):b(``,!0)]),_:1})]),(T(),h(d(t),{ref_key:`cuiTimelineRef`,ref:K,key:d(U).name,"camera-ids":[d(U)._id],"initial-timestamp":d(W),loading:!d(q),type:d(z)?`vertical`:`horizontal`,"ignore-bottom-safe-area":d(z),"show-segments":!1,"show-zoom":!1,"show-date":!1,"md-breakpoint":d(z),class:s([`flex w-full border-t-[1px] border-color shrink-0`,d(z)?`h-full`:`h-[200px]`]),"card-class":{"mt-auto":!d(z)},"flat-card":``,"locale-settings":d(se),onScrolling:le},null,8,[`camera-ids`,`initial-timestamp`,`loading`,`type`,`ignore-bottom-safe-area`,`md-breakpoint`,`class`,`card-class`,`locale-settings`]))])}}}),[[`__scopeId`,`data-v-77d3f849`]]),z={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function B(e,t){return T(),_(`svg`,z,[...t[0]||=[m(`path`,{fill:`currentColor`,d:`M3 11h8V3H3m0 18h8v-8H3m10 8h8v-8h-8m0-10v8h8V3`},null,-1)]])}var V=S({name:`mdi-view-grid`,render:B});export{R as n,F as r,V as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{dn as e,mn as t,ur as n,zn as r}from"./vendor-DoIl6acN.js";var i={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function a(n,a){return r(),t(`svg`,i,[...a[0]||=[e(`path`,{fill:`currentColor`,d:`M12 2c3.31 0 6 2.66 6 5.95C18 12.41 12 19 12 19S6 12.41 6 7.95C6 4.66 8.69 2 12 2m0 4a2 2 0 0 0-2 2a2 2 0 0 0 2 2a2 2 0 0 0 2-2a2 2 0 0 0-2-2m8 13c0 2.21-3.58 4-8 4s-8-1.79-8-4c0-1.29 1.22-2.44 3.11-3.17l.64.91C6.67 17.19 6 17.81 6 18.5c0 1.38 2.69 2.5 6 2.5s6-1.12 6-2.5c0-.69-.67-1.31-1.75-1.76l.64-.91C18.78 16.56 20 17.71 20 19`},null,-1)]])}var o=n({name:`mdi-map-marker-radius`,render:a}),s={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function c(n,i){return r(),t(`svg`,s,[...i[0]||=[e(`path`,{fill:`currentColor`,d:`M10.46 19C9 21.07 6.15 21.59 4.09 20.15c-2.05-1.44-2.53-4.31-1.09-6.4a4.59 4.59 0 0 1 3.58-1.98l.05 1.43c-.91.07-1.79.54-2.36 1.36c-1 1.44-.69 3.38.68 4.35c1.38.96 3.31.59 4.31-.84c.31-.45.49-.94.56-1.44v-1.01l5.58-.04l.07-.11c.53-.92 1.68-1.24 2.58-.72a1.9 1.9 0 0 1 .68 2.6c-.53.91-1.69 1.23-2.59.71c-.41-.23-.7-.6-.83-1.02l-4.07.02a5 5 0 0 1-.78 1.94m7.28-7.14c2.53.31 4.33 2.58 4.02 5.07c-.31 2.5-2.61 4.27-5.14 3.96a4.63 4.63 0 0 1-3.43-2.21l1.24-.72a3.22 3.22 0 0 0 2.32 1.45c1.75.21 3.3-.98 3.51-2.65s-1.03-3.2-2.76-3.41c-.54-.06-1.06.01-1.53.18l-.85.44l-2.58-4.77h-.22a1.906 1.906 0 0 1-1.85-1.95c.03-1.04.93-1.85 1.98-1.81c1.05.06 1.88.91 1.85 1.95c-.02.44-.19.84-.46 1.15l1.9 3.51c.62-.2 1.3-.27 2-.19M8.25 9.14c-1-2.35.06-5.04 2.37-6.02c2.32-.98 5 .13 6 2.48c.59 1.37.47 2.87-.2 4.07l-1.24-.72c.42-.81.49-1.8.09-2.73c-.68-1.6-2.49-2.37-4.04-1.72c-1.56.66-2.26 2.5-1.58 4.1c.28.66.75 1.17 1.32 1.51l.39.21l-3.07 4.99c.03.05.07.11.1.19c.49.91.15 2.06-.77 2.55c-.91.49-2.06.13-2.56-.81c-.49-.93-.15-2.08.77-2.57c.39-.21.82-.26 1.23-.17l2.31-3.77c-.47-.43-.87-.97-1.12-1.59`},null,-1)]])}var l=n({name:`mdi-webhook`,render:c});export{o as n,l as t};
|
|
@@ -347,12 +347,12 @@
|
|
|
347
347
|
media="screen and (prefers-color-scheme: dark) and (device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
|
|
348
348
|
href="/pwa/apple-splash-portrait-dark-640x1136.png"
|
|
349
349
|
/>
|
|
350
|
-
<script type="module" crossorigin src="/assets/main-
|
|
350
|
+
<script type="module" crossorigin src="/assets/main-CIorSaV7.js"></script>
|
|
351
351
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-DAXXjFlN.js">
|
|
352
352
|
<link rel="modulepreload" crossorigin href="/assets/vendor-DoIl6acN.js">
|
|
353
353
|
<link rel="modulepreload" crossorigin href="/assets/vendor-cameraui-DgSMexWY.js">
|
|
354
354
|
<link rel="modulepreload" crossorigin href="/assets/vendor-core-BKHiXSX7.js">
|
|
355
|
-
<link rel="modulepreload" crossorigin href="/assets/api-
|
|
355
|
+
<link rel="modulepreload" crossorigin href="/assets/api-aSYFKxo6.js">
|
|
356
356
|
<link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-BDNMzG2s.js">
|
|
357
357
|
<link rel="modulepreload" crossorigin href="/assets/ui-DrzKhUXW.js">
|
|
358
358
|
<link rel="modulepreload" crossorigin href="/assets/useSharedComposables-gpJ--qZh.js">
|
|
@@ -360,28 +360,29 @@
|
|
|
360
360
|
<link rel="modulepreload" crossorigin href="/assets/vendor-primevue-7iEzPOvf.js">
|
|
361
361
|
<link rel="modulepreload" crossorigin href="/assets/cog-Ce2a8uiA.js">
|
|
362
362
|
<link rel="modulepreload" crossorigin href="/assets/lightbulb-outline-B0CFho4y.js">
|
|
363
|
-
<link rel="modulepreload" crossorigin href="/assets/useFileDownload-
|
|
364
|
-
<link rel="modulepreload" crossorigin href="/assets/CuiImage-
|
|
365
|
-
<link rel="modulepreload" crossorigin href="/assets/CuiCameraSnapshot-
|
|
366
|
-
<link rel="modulepreload" crossorigin href="/assets/hasPermission-
|
|
363
|
+
<link rel="modulepreload" crossorigin href="/assets/useFileDownload-Cp1oH80I.js">
|
|
364
|
+
<link rel="modulepreload" crossorigin href="/assets/CuiImage-B97QDAl7.js">
|
|
365
|
+
<link rel="modulepreload" crossorigin href="/assets/CuiCameraSnapshot-DTtvEMy1.js">
|
|
366
|
+
<link rel="modulepreload" crossorigin href="/assets/hasPermission-P1TgpAur.js">
|
|
367
367
|
<link rel="modulepreload" crossorigin href="/assets/types-ByBSoibP.js">
|
|
368
|
-
<link rel="modulepreload" crossorigin href="/assets/CuiAvatar-
|
|
369
|
-
<link rel="modulepreload" crossorigin href="/assets/CuiMenu-
|
|
368
|
+
<link rel="modulepreload" crossorigin href="/assets/CuiAvatar-of_eVQsv.js">
|
|
369
|
+
<link rel="modulepreload" crossorigin href="/assets/CuiMenu-Ds6GufVn.js">
|
|
370
370
|
<link rel="modulepreload" crossorigin href="/assets/play-solid-BOoBnMaN.js">
|
|
371
371
|
<link rel="modulepreload" crossorigin href="/assets/face-recognition-D5evlO1d.js">
|
|
372
372
|
<link rel="modulepreload" crossorigin href="/assets/CuiBBoxPlayground-CIU5kteO.js">
|
|
373
373
|
<link rel="modulepreload" crossorigin href="/assets/shield-check-ChlSHOnR.js">
|
|
374
|
+
<link rel="modulepreload" crossorigin href="/assets/motion-sensor-DD8SfD-m.js">
|
|
374
375
|
<link rel="modulepreload" crossorigin href="/assets/vendor-draggabilly-Dl6FWJwx.js">
|
|
375
|
-
<link rel="modulepreload" crossorigin href="/assets/cameras-
|
|
376
|
+
<link rel="modulepreload" crossorigin href="/assets/cameras-CvJDLEZ3.js">
|
|
376
377
|
<link rel="modulepreload" crossorigin href="/assets/CuiActionButton-Bl7gqhIV.js">
|
|
377
378
|
<link rel="modulepreload" crossorigin href="/assets/copy-16-filled-CZzRMAt_.js">
|
|
378
|
-
<link rel="modulepreload" crossorigin href="/assets/shares-
|
|
379
|
+
<link rel="modulepreload" crossorigin href="/assets/shares-4w6GDwjp.js">
|
|
379
380
|
<link rel="modulepreload" crossorigin href="/assets/useCuiCameraDrawer-DnN9lwiy.js">
|
|
380
381
|
<link rel="modulepreload" crossorigin href="/assets/useElectron-mh8HQUAI.js">
|
|
381
|
-
<link rel="modulepreload" crossorigin href="/assets/useCuiDialog-
|
|
382
|
-
<link rel="modulepreload" crossorigin href="/assets/CuiCameraCard-
|
|
382
|
+
<link rel="modulepreload" crossorigin href="/assets/useCuiDialog-DHktK-mZ.js">
|
|
383
|
+
<link rel="modulepreload" crossorigin href="/assets/CuiCameraCard-IyJNZMGs.js">
|
|
383
384
|
<link rel="modulepreload" crossorigin href="/assets/cloud-outline-BPAJ6_kc.js">
|
|
384
|
-
<link rel="modulepreload" crossorigin href="/assets/instances-
|
|
385
|
+
<link rel="modulepreload" crossorigin href="/assets/instances-DwnEOXk1.js">
|
|
385
386
|
<link rel="modulepreload" crossorigin href="/assets/cctv-BsGdaLfw.js">
|
|
386
387
|
<link rel="modulepreload" crossorigin href="/assets/terminal-DbYAPed-.js">
|
|
387
388
|
<link rel="modulepreload" crossorigin href="/assets/circular-connection-BTKd-doI.js">
|
|
@@ -389,42 +390,47 @@
|
|
|
389
390
|
<link rel="modulepreload" crossorigin href="/assets/cloud-outline-CzQmkpCY.js">
|
|
390
391
|
<link rel="modulepreload" crossorigin href="/assets/bell-ChE83DC8.js">
|
|
391
392
|
<link rel="modulepreload" crossorigin href="/assets/bell-outline-U3Gb4nI1.js">
|
|
393
|
+
<link rel="modulepreload" crossorigin href="/assets/bug-DPw8k4Lk.js">
|
|
392
394
|
<link rel="modulepreload" crossorigin href="/assets/grid-fill-DBU_n60V.js">
|
|
393
395
|
<link rel="modulepreload" crossorigin href="/assets/download-CY-SlBan.js">
|
|
394
|
-
<link rel="modulepreload" crossorigin href="/assets/view-grid-
|
|
396
|
+
<link rel="modulepreload" crossorigin href="/assets/view-grid-B0KB2pRf.js">
|
|
395
397
|
<link rel="modulepreload" crossorigin href="/assets/eventIcons-CtTopM6B.js">
|
|
396
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
398
|
+
<link rel="modulepreload" crossorigin href="/assets/puzzle-filled-C1z2qa5-.js">
|
|
397
399
|
<link rel="modulepreload" crossorigin href="/assets/CuiFloatingButton-B5YMdr0X.js">
|
|
400
|
+
<link rel="modulepreload" crossorigin href="/assets/refresh-rounded-Bqiw9DUu.js">
|
|
398
401
|
<link rel="modulepreload" crossorigin href="/assets/vendor-dnd-_zxmhxjM.js">
|
|
399
402
|
<link rel="modulepreload" crossorigin href="/assets/CuiTopbarSlot-ac4GLLbf.js">
|
|
400
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
401
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
403
|
+
<link rel="modulepreload" crossorigin href="/assets/github-DLhaVazy.js">
|
|
404
|
+
<link rel="modulepreload" crossorigin href="/assets/useBiometricCredentials-BGRyKe48.js">
|
|
405
|
+
<link rel="modulepreload" crossorigin href="/assets/deviceId-OXLTtG-_.js">
|
|
402
406
|
<link rel="modulepreload" crossorigin href="/assets/vendor-zod-DycFxUhi.js">
|
|
403
|
-
<link rel="modulepreload" crossorigin href="/assets/types-
|
|
404
|
-
<link rel="modulepreload" crossorigin href="/assets/users.schema-
|
|
407
|
+
<link rel="modulepreload" crossorigin href="/assets/types-BXo-JDGR.js">
|
|
408
|
+
<link rel="modulepreload" crossorigin href="/assets/users.schema-BIL9DqRo.js">
|
|
405
409
|
<link rel="modulepreload" crossorigin href="/assets/routerState-dQtObsFs.js">
|
|
406
|
-
<link rel="modulepreload" crossorigin href="/assets/router-
|
|
410
|
+
<link rel="modulepreload" crossorigin href="/assets/router-i0r3QZvk.js">
|
|
407
411
|
<link rel="modulepreload" crossorigin href="/assets/chevron-down-KZwkCQ3v.js">
|
|
408
412
|
<link rel="modulepreload" crossorigin href="/assets/power-BcSFRPtI.js">
|
|
409
|
-
<link rel="modulepreload" crossorigin href="/assets/api-
|
|
410
|
-
<link rel="modulepreload" crossorigin href="/assets/theme-
|
|
413
|
+
<link rel="modulepreload" crossorigin href="/assets/api-CbBOEbKQ.js">
|
|
414
|
+
<link rel="modulepreload" crossorigin href="/assets/theme-DhaXe7yA.js">
|
|
411
415
|
<link rel="modulepreload" crossorigin href="/assets/check-BMoCATAa.js">
|
|
412
416
|
<link rel="modulepreload" crossorigin href="/assets/trash2-CaXm_MmJ.js">
|
|
413
|
-
<link rel="modulepreload" crossorigin href="/assets/notifications-
|
|
417
|
+
<link rel="modulepreload" crossorigin href="/assets/notifications-DHmx6O_s.js">
|
|
414
418
|
<link rel="modulepreload" crossorigin href="/assets/microphone-CAVr4YFv.js">
|
|
415
|
-
<link rel="modulepreload" crossorigin href="/assets/CuiSchema-
|
|
416
|
-
<link rel="modulepreload" crossorigin href="/assets/plugins-
|
|
417
|
-
<link rel="modulepreload" crossorigin href="/assets/PluginSchema-
|
|
419
|
+
<link rel="modulepreload" crossorigin href="/assets/CuiSchema-CfqOJmDH.js">
|
|
420
|
+
<link rel="modulepreload" crossorigin href="/assets/plugins-NVAodP6s.js">
|
|
421
|
+
<link rel="modulepreload" crossorigin href="/assets/PluginSchema-CWcq67pj.js">
|
|
418
422
|
<link rel="modulepreload" crossorigin href="/assets/information-outline-ChTb2u7w.js">
|
|
419
423
|
<link rel="modulepreload" crossorigin href="/assets/plus-Dqgz6pez.js">
|
|
420
|
-
<link rel="modulepreload" crossorigin href="/assets/cameras.schema-
|
|
424
|
+
<link rel="modulepreload" crossorigin href="/assets/cameras.schema-Clwro_L9.js">
|
|
425
|
+
<link rel="modulepreload" crossorigin href="/assets/cctv-CBtg_v6o.js">
|
|
421
426
|
<link rel="modulepreload" crossorigin href="/assets/delete-5a2q7_46.js">
|
|
422
|
-
<link rel="modulepreload" crossorigin href="/assets/useStreamStatus-
|
|
427
|
+
<link rel="modulepreload" crossorigin href="/assets/useStreamStatus-N--czepD.js">
|
|
428
|
+
<link rel="modulepreload" crossorigin href="/assets/bell-ring-CenQn4Yt.js">
|
|
423
429
|
<link rel="modulepreload" crossorigin href="/assets/home-Dey3bw1P.js">
|
|
424
430
|
<link rel="modulepreload" crossorigin href="/assets/arrow-right-outline-CliUt84m.js">
|
|
425
431
|
<link rel="modulepreload" crossorigin href="/assets/CuiDataTable-saRt0sBc.js">
|
|
426
|
-
<link rel="modulepreload" crossorigin href="/assets/locale-
|
|
427
|
-
<link rel="stylesheet" crossorigin href="/assets/api-
|
|
432
|
+
<link rel="modulepreload" crossorigin href="/assets/locale-BWvy9Nlz.js">
|
|
433
|
+
<link rel="stylesheet" crossorigin href="/assets/api-vCJ1T8Ow.css">
|
|
428
434
|
<link rel="stylesheet" crossorigin href="/assets/CuiImage-Bxf7z2N4.css">
|
|
429
435
|
<link rel="stylesheet" crossorigin href="/assets/CuiAvatar-BtMXnhxd.css">
|
|
430
436
|
<link rel="stylesheet" crossorigin href="/assets/CuiMenu-BWUfWLQP.css">
|
package/dist/interface/sw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
if(!self.define){let s,e={};const l=(l,i)=>(l=new URL(l+".js",i).href,e[l]||new Promise(e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()}).then(()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s}));self.define=(i,a)=>{const r=s||("document"in self?document.currentScript.src:"")||location.href;if(e[r])return;let n={};const u=s=>l(s,r),o={module:{uri:r},exports:n,require:u};e[r]=Promise.all(i.map(s=>o[s]||u(s))).then(s=>(a(...s),n))}}define(["./workbox-5f44db27"],function(s){"use strict";s.setCacheNameDetails({prefix:"camera-ui"}),self.addEventListener("message",s=>{s.data&&"SKIP_WAITING"===s.data.type&&self.skipWaiting()}),s.precacheAndRoute([{url:"robots.txt",revision:"f77c87f977e0fcce05a6df46c885a129"},{url:"og-share.png",revision:"0ca1dd15e2498de1d1423fe6134db452"},{url:"index.html",revision:"09e44e533fbdeef3c8d2febc9d8ff6db"},{url:"pwa/pwa-96x96.png",revision:"675ea863c25fa9ae31d4d76a47463c78"},{url:"pwa/pwa-88x88.png",revision:"6e8af0a85b0627a835b62067d5189cb4"},{url:"pwa/pwa-72x72.png",revision:"66698bb499639052ad337f7e9a7d7ea8"},{url:"pwa/pwa-64x64.png",revision:"f57763be3212fd4154c502d607e7ed38"},{url:"pwa/pwa-50x50.png",revision:"a20fc2e6f26aa548f9cae07911087f6c"},{url:"pwa/pwa-48x48.png",revision:"97d7369c892f1e0914c2617ff26feb3c"},{url:"pwa/pwa-36x36.png",revision:"4d08bb198d4e54e4d12a0810fc59f059"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-24x24.png",revision:"bdb25f68ca300283b37041e47d3e6ba8"},{url:"pwa/pwa-192x192.png",revision:"3d58c2dd940c535cc166cc8d0844429d"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-167x167.png",revision:"de6a5ca921b45fb3bd30d27c707981c6"},{url:"pwa/pwa-152x152.png",revision:"4cf41c7b603d382e83e098affb7cb9da"},{url:"pwa/pwa-144x144.png",revision:"4fdf5c8fb085f764ed7dd5a26698bff5"},{url:"pwa/pwa-120x120.png",revision:"3f5ec31f6bd07910482227b259344110"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/logo.svg",revision:"1aa262f4a37293a91083eea10794d2ca"},{url:"pwa/favicon-64.ico",revision:"6a697d7662ab5ee246918cdc7c412343"},{url:"pwa/favicon-48.ico",revision:"d0a27003af457cb85651c84c60c87ef0"},{url:"pwa/favicon-32.ico",revision:"6e711cbf0b53afe4a7d0057780fa42b9"},{url:"pwa/favicon-16.ico",revision:"163ae861c5ab9f68ed21324c19dfe35d"},{url:"pwa/apple-touch-icon-180x180.png",revision:"91aec7b3a553812fbd3cd72adb17fcc4"},{url:"pwa/apple-splash-portrait-light-828x1792.png",revision:"8deb1063185df6a2d3089a9fa33f6ad1"},{url:"pwa/apple-splash-portrait-light-750x1334.png",revision:"191c785b1e7b47ac1b1d6bc2a84bde85"},{url:"pwa/apple-splash-portrait-light-640x1136.png",revision:"588e312fd0851d5767972a1efc33e6a3"},{url:"pwa/apple-splash-portrait-light-2048x2732.png",revision:"cf9c75c2e56f8d3af7d914a00ce30286"},{url:"pwa/apple-splash-portrait-light-1668x2388.png",revision:"5db134deca3d2e8a1ae2d8e67c77c420"},{url:"pwa/apple-splash-portrait-light-1668x2224.png",revision:"a1b5adab2a71d0fa646e7b0e9a4fcb71"},{url:"pwa/apple-splash-portrait-light-1620x2160.png",revision:"41bdc2c492d374bf8c6b6875e2beb9f1"},{url:"pwa/apple-splash-portrait-light-1536x2048.png",revision:"42716fc23cfa58d3f154fea1875eb3f5"},{url:"pwa/apple-splash-portrait-light-1290x2796.png",revision:"d57711837cf7e3801a9e8126b1695aaa"},{url:"pwa/apple-splash-portrait-light-1284x2778.png",revision:"461b13cf0d9c293ca220700bb4148afa"},{url:"pwa/apple-splash-portrait-light-1242x2688.png",revision:"2b320f74bc7da7bf0d1be699183416c3"},{url:"pwa/apple-splash-portrait-light-1242x2208.png",revision:"8fd1367cac03e5798973cfa4e0dec5b0"},{url:"pwa/apple-splash-portrait-light-1179x2556.png",revision:"8d1fc622bdb48dda2461e4f47a49249a"},{url:"pwa/apple-splash-portrait-light-1170x2532.png",revision:"58d656b4de9b32a09fc2ea1028116dfb"},{url:"pwa/apple-splash-portrait-light-1125x2436.png",revision:"1a02e33add13bccc9f407efcfd2cf890"},{url:"pwa/apple-splash-portrait-dark-828x1792.png",revision:"543d10f74f6f098e49ba989899182dee"},{url:"pwa/apple-splash-portrait-dark-750x1334.png",revision:"54f99ba556f7cc149eb03fe6207d411d"},{url:"pwa/apple-splash-portrait-dark-640x1136.png",revision:"b901a6f04ef976aa81573ec0f3c8f32b"},{url:"pwa/apple-splash-portrait-dark-2048x2732.png",revision:"60acb5fbde5bb76a368238c5e079c717"},{url:"pwa/apple-splash-portrait-dark-1668x2388.png",revision:"fb7fb372580598abf8a1d8eb7305462a"},{url:"pwa/apple-splash-portrait-dark-1668x2224.png",revision:"1e7b39c9f5fdca7ddf23c1248f7628bf"},{url:"pwa/apple-splash-portrait-dark-1620x2160.png",revision:"1a9f84fba88d4cd5924cf5a39d541b46"},{url:"pwa/apple-splash-portrait-dark-1536x2048.png",revision:"0b26c0a578f6b13b3df06abecc81fb82"},{url:"pwa/apple-splash-portrait-dark-1290x2796.png",revision:"e7f2a468891736413b1e0622a510fd5a"},{url:"pwa/apple-splash-portrait-dark-1284x2778.png",revision:"d7230994de3c4c6016ac252431031ea7"},{url:"pwa/apple-splash-portrait-dark-1242x2688.png",revision:"c56eb0a4a8b4c7bb850cbfc35dd62bba"},{url:"pwa/apple-splash-portrait-dark-1242x2208.png",revision:"1b7f03eaab3cf8af8aa6057fd97278d8"},{url:"pwa/apple-splash-portrait-dark-1179x2556.png",revision:"8eac224083023d0d21374d9f9087bab5"},{url:"pwa/apple-splash-portrait-dark-1170x2532.png",revision:"476ac5131289040d8d88803c18dc20bb"},{url:"pwa/apple-splash-portrait-dark-1125x2436.png",revision:"53ddd8644a89bfc79c8d1bfbaa51527b"},{url:"pwa/apple-splash-landscape-light-2796x1290.png",revision:"a46e458259177e134ad383d133b29774"},{url:"pwa/apple-splash-landscape-light-2778x1284.png",revision:"95d2479cf715c2ea0104fd5f55fa62b3"},{url:"pwa/apple-splash-landscape-light-2732x2048.png",revision:"0e5ec355113efe5ce253583209a64bb8"},{url:"pwa/apple-splash-landscape-light-2688x1242.png",revision:"3757f5338eb50c9f6fb8ad0d72597465"},{url:"pwa/apple-splash-landscape-light-2556x1179.png",revision:"3f0efc9e8de850ae5d3a72a158d39055"},{url:"pwa/apple-splash-landscape-light-2532x1170.png",revision:"b9e11e5a3435cf159f240b5f6da5dc76"},{url:"pwa/apple-splash-landscape-light-2436x1125.png",revision:"459b9c158b3a52222787d00a276baa21"},{url:"pwa/apple-splash-landscape-light-2388x1668.png",revision:"3733608412963cb747e32b2790013523"},{url:"pwa/apple-splash-landscape-light-2224x1668.png",revision:"ecf0efece27d70815f7401f7f3e40a24"},{url:"pwa/apple-splash-landscape-light-2208x1242.png",revision:"653857094b0c183908571fea1aed7b2f"},{url:"pwa/apple-splash-landscape-light-2160x1620.png",revision:"31ac689a78386cf844e33f10fd5d2029"},{url:"pwa/apple-splash-landscape-light-2048x1536.png",revision:"1b27b72b070b260eceeaab092a82663d"},{url:"pwa/apple-splash-landscape-light-1792x828.png",revision:"c6e29d789061fc48eb9f3a54cb1950be"},{url:"pwa/apple-splash-landscape-light-1334x750.png",revision:"f513cdc13ffaf0c2a82bb207e2a9a397"},{url:"pwa/apple-splash-landscape-light-1136x640.png",revision:"c9b4c38f0a267051c0c83cc92c0f5767"},{url:"pwa/apple-splash-landscape-dark-2796x1290.png",revision:"22b9597a28c081730e3430e467b4e36d"},{url:"pwa/apple-splash-landscape-dark-2778x1284.png",revision:"19d1e7a02d9edd3354c61b7c54ea9c1e"},{url:"pwa/apple-splash-landscape-dark-2732x2048.png",revision:"dc9fbb966dfc3350466279749c2946d7"},{url:"pwa/apple-splash-landscape-dark-2688x1242.png",revision:"dcd13ed9567fa4d98867f5c97cc89695"},{url:"pwa/apple-splash-landscape-dark-2556x1179.png",revision:"02e2914d36b2aaf6da02799414a23738"},{url:"pwa/apple-splash-landscape-dark-2532x1170.png",revision:"b89d280148f1bcb816c6364c37daefb6"},{url:"pwa/apple-splash-landscape-dark-2436x1125.png",revision:"85613cc4f5040791ef13e4b2a1ecc840"},{url:"pwa/apple-splash-landscape-dark-2388x1668.png",revision:"e17cbe3b198574eb6fc822c17e22d935"},{url:"pwa/apple-splash-landscape-dark-2224x1668.png",revision:"1144751415d9c1f3d1bc34407b9a9539"},{url:"pwa/apple-splash-landscape-dark-2208x1242.png",revision:"2989b9f038112f8eed3694fa53b86e6a"},{url:"pwa/apple-splash-landscape-dark-2160x1620.png",revision:"ee54046f738fe4346d7febbfaa711244"},{url:"pwa/apple-splash-landscape-dark-2048x1536.png",revision:"70f0181b7e075e3b64e261c4d4e3eada"},{url:"pwa/apple-splash-landscape-dark-1792x828.png",revision:"281d292ea4448638bb250a3fca5f5f44"},{url:"pwa/apple-splash-landscape-dark-1334x750.png",revision:"d82dd37eb2bdf815c1e2ab367134cbbf"},{url:"pwa/apple-splash-landscape-dark-1136x640.png",revision:"c6b193de9bd234c81fdea1d28fe7b88c"},{url:"fonts/InterVariable.woff2",revision:"2bf3d951bf9d6109437ea0874bbf12fb"},{url:"assets/zoom-in-D2zo_jfL.js",revision:null},{url:"assets/worker-yaml-crtWQpDN.js",revision:null},{url:"assets/worker-base-ybazWkNy.js",revision:null},{url:"assets/workbox-window.prod.es5-CtK9nkTO.js",revision:null},{url:"assets/web-xDCdGu4q.js",revision:null},{url:"assets/web-iAcZCcyL.js",revision:null},{url:"assets/web-ERIfo5an.js",revision:null},{url:"assets/web-DohTQteu.js",revision:null},{url:"assets/web-Do1A1_Uv.js",revision:null},{url:"assets/web-DiteWocu.js",revision:null},{url:"assets/web-D4GUyvng.js",revision:null},{url:"assets/web-D2BwFPf_.js",revision:null},{url:"assets/web-CbVsSB6C.js",revision:null},{url:"assets/web-BpltzPRC.js",revision:null},{url:"assets/web-BjKL51lK-D9ETiyug.js",revision:null},{url:"assets/web-Bba8RmHI.js",revision:null},{url:"assets/web-B9fYUOqN.js",revision:null},{url:"assets/web-54_Wj9Me.js",revision:null},{url:"assets/view-grid-D04t817d.css",revision:null},{url:"assets/view-grid-Cs5VWmxE.js",revision:null},{url:"assets/vendor-zod-DycFxUhi.js",revision:null},{url:"assets/vendor-xterm-BrP-ENHg.css",revision:null},{url:"assets/vendor-xterm-BRN-hOYD.js",revision:null},{url:"assets/vendor-vueflow-DSLHUKHF.js",revision:null},{url:"assets/vendor-primevue-7iEzPOvf.js",revision:null},{url:"assets/vendor-markdown-UV_ycMZu.js",revision:null},{url:"assets/vendor-markdown-DtOhvyRx.css",revision:null},{url:"assets/vendor-leaflet-vh-t_kPv.css",revision:null},{url:"assets/vendor-leaflet-_2Z0GiOD.js",revision:null},{url:"assets/vendor-gridstack-Rg2RhwAc.css",revision:null},{url:"assets/vendor-gridstack-DD5uGA3X.js",revision:null},{url:"assets/vendor-draggabilly-Dl6FWJwx.js",revision:null},{url:"assets/vendor-dnd-_zxmhxjM.js",revision:null},{url:"assets/vendor-core-BKHiXSX7.js",revision:null},{url:"assets/vendor-chart-CBBmwsyM.js",revision:null},{url:"assets/vendor-capacitor-DgfjcZj-.js",revision:null},{url:"assets/vendor-cameraui-DgSMexWY.js",revision:null},{url:"assets/vendor-ace-DdrK3_G3.js",revision:null},{url:"assets/vendor-DoIl6acN.js",revision:null},{url:"assets/users.schema-Bz59q-My.js",revision:null},{url:"assets/useStreamStatus-BdN05nfE.js",revision:null},{url:"assets/useSharedComposables-gpJ--qZh.js",revision:null},{url:"assets/useLogsSocket-rG2BaLWl.js",revision:null},{url:"assets/useLogsSocket-4F2-d9fa.css",revision:null},{url:"assets/useFileDownload-CSek7CzK.js",revision:null},{url:"assets/useElectron-mh8HQUAI.js",revision:null},{url:"assets/useCuiDialog-C50obC48.js",revision:null},{url:"assets/useCuiCameraDrawer-DnN9lwiy.js",revision:null},{url:"assets/useCameraOptions-CoogpQnN.js",revision:null},{url:"assets/useBiometricCredentials-DDyhIy7O.js",revision:null},{url:"assets/upload-AGww_lJf.js",revision:null},{url:"assets/ui-DrzKhUXW.js",revision:null},{url:"assets/types-C9iWhZtk.js",revision:null},{url:"assets/types-ByBSoibP.js",revision:null},{url:"assets/types-BxFyoO54.js",revision:null},{url:"assets/trash2-CaXm_MmJ.js",revision:null},{url:"assets/trash-fill-Da1v18iA.js",revision:null},{url:"assets/trash-2-CkdsE6jp.js",revision:null},{url:"assets/theme-DhiUIeo3.js",revision:null},{url:"assets/terminal-DbYAPed-.js",revision:null},{url:"assets/shield-check-ChlSHOnR.js",revision:null},{url:"assets/shares-ZKyJZapA.js",revision:null},{url:"assets/settings-uhDSoUhb.js",revision:null},{url:"assets/server-CmXhhpSW.js",revision:null},{url:"assets/search-D-QOrChC.js",revision:null},{url:"assets/routerState-dQtObsFs.js",revision:null},{url:"assets/router-CvWvXFyk.js",revision:null},{url:"assets/router-BUTKN1yM.css",revision:null},{url:"assets/round-restart-alt-wyrnMpa4.js",revision:null},{url:"assets/round-restart-alt-fCNtJi_k.css",revision:null},{url:"assets/round-alt-arrow-left-bold-C-0SLIa9.js",revision:null},{url:"assets/rolldown-runtime-DAXXjFlN.js",revision:null},{url:"assets/ring-resize-DQajal-Z.js",revision:null},{url:"assets/power-BcSFRPtI.js",revision:null},{url:"assets/plus-Dqgz6pez.js",revision:null},{url:"assets/plus-BMt5ORD8.js",revision:null},{url:"assets/plugins-tQniunmN.js",revision:null},{url:"assets/plugin-C1dsgk0N.js",revision:null},{url:"assets/play-solid-BOoBnMaN.js",revision:null},{url:"assets/notifications-DGRbcf65.js",revision:null},{url:"assets/nodeDefinitions-blmt-d7H.js",revision:null},{url:"assets/native-j1dyx58L.js",revision:null},{url:"assets/native-fQjIFjCA.js",revision:null},{url:"assets/mode-yaml-CIYL8U3d.js",revision:null},{url:"assets/microphone-CAVr4YFv.js",revision:null},{url:"assets/main-DudyqPaR.css",revision:null},{url:"assets/main-CjUbwZ3z.js",revision:null},{url:"assets/logo-DmEiRk0z.png",revision:null},{url:"assets/logo-512-DLKVOU2S.png",revision:null},{url:"assets/logo-256-BCQk9H1-.png",revision:null},{url:"assets/locale-qn_8MsnX.js",revision:null},{url:"assets/lightbulb-outline-B0CFho4y.js",revision:null},{url:"assets/instances-BBnYdgRc.js",revision:null},{url:"assets/information-outline-ChTb2u7w.js",revision:null},{url:"assets/home-Dey3bw1P.js",revision:null},{url:"assets/hasPermission-DdAdlKls.js",revision:null},{url:"assets/grid-fill-DBU_n60V.js",revision:null},{url:"assets/github-DNzKZdHG.js",revision:null},{url:"assets/face-recognition-D5evlO1d.js",revision:null},{url:"assets/eventIcons-CtTopM6B.js",revision:null},{url:"assets/eventIcons-2hVCNchU.css",revision:null},{url:"assets/esm-yIpeulKl.js",revision:null},{url:"assets/esm-u_3xdCfr.js",revision:null},{url:"assets/esm-edrype40.js",revision:null},{url:"assets/esm-M_oLCAXC.js",revision:null},{url:"assets/esm-Do9bGF06.js",revision:null},{url:"assets/esm-Dc3lKVtD.js",revision:null},{url:"assets/esm-CjzerNPk.js",revision:null},{url:"assets/esm-CWeEZr0g.js",revision:null},{url:"assets/esm-CIAIVgGo.js",revision:null},{url:"assets/esm-CA4iVOgN2.js",revision:null},{url:"assets/esm-C51W8e2w.js",revision:null},{url:"assets/esm-BUgHC3bC.js",revision:null},{url:"assets/esm-B2shpuvL.js",revision:null},{url:"assets/esm-B-_4iFTo.js",revision:null},{url:"assets/download-CY-SlBan.js",revision:null},{url:"assets/dist-CQkfz2Dn.js",revision:null},{url:"assets/deviceId-DMh1VcHg.js",revision:null},{url:"assets/delete-5a2q7_46.js",revision:null},{url:"assets/copy-DcVDLQlM.js",revision:null},{url:"assets/copy-16-filled-CZzRMAt_.js",revision:null},{url:"assets/cog-Ce2a8uiA.js",revision:null},{url:"assets/cloudHandoff-zXwtzo8e.js",revision:null},{url:"assets/cloud-outline-CzQmkpCY.js",revision:null},{url:"assets/cloud-outline-BPAJ6_kc.js",revision:null},{url:"assets/cloud-check-BbqgBLhK.js",revision:null},{url:"assets/close-circle-ClG7lNzZ.js",revision:null},{url:"assets/close-DuwOOM-P.js",revision:null},{url:"assets/circular-connection-BTKd-doI.js",revision:null},{url:"assets/chevron-right-CXZ4SFSg.js",revision:null},{url:"assets/chevron-down-KZwkCQ3v.js",revision:null},{url:"assets/check-BMoCATAa.js",revision:null},{url:"assets/cctv-BsGdaLfw.js",revision:null},{url:"assets/cameras.schema-BULBdfmS.js",revision:null},{url:"assets/cameras-WikE4nxe.js",revision:null},{url:"assets/camera-preview-C7GT5VHo.png",revision:null},{url:"assets/bell-outline-U3Gb4nI1.js",revision:null},{url:"assets/bell-ChE83DC8.js",revision:null},{url:"assets/backup-DYBEA8gj.js",revision:null},{url:"assets/back-filled-DqCMpeEk.js",revision:null},{url:"assets/automations-wQnuqfmi.js",revision:null},{url:"assets/automations-C309DNNg.js",revision:null},{url:"assets/automation-IpK710bv.js",revision:null},{url:"assets/auth-DJ1WgC3s.js",revision:null},{url:"assets/arrow-right-outline-CliUt84m.js",revision:null},{url:"assets/arrow-left-9W2BpRxA.js",revision:null},{url:"assets/api-DY4FSNX7.js",revision:null},{url:"assets/api-BWWcvHf5.js",revision:null},{url:"assets/api-BB9AG_h5.css",revision:null},{url:"assets/alert-outline-T8FhpQ9w.js",revision:null},{url:"assets/ace.config-D884GuRj.js",revision:null},{url:"assets/ace-DQ1lNH50.js",revision:null},{url:"assets/_plugin-vue_export-helper-BDNMzG2s.js",revision:null},{url:"assets/Workers-CXvuE4Bn.js",revision:null},{url:"assets/VersionsHandler-DF_kclOb.js",revision:null},{url:"assets/VariableSuggestions-PEzupqiE.js",revision:null},{url:"assets/VariableInput-CFs-kzqd.js",revision:null},{url:"assets/Terminal-CrOfQJ-O.css",revision:null},{url:"assets/Terminal-BsdUon5-.js",revision:null},{url:"assets/SettingsUsers-DLAYh9IA.js",revision:null},{url:"assets/SettingsSystem-Du3S8gps.js",revision:null},{url:"assets/SettingsRemote-D9COJF4m.css",revision:null},{url:"assets/SettingsRemote-CBLPWHM6.js",revision:null},{url:"assets/SettingsRecordings-x4yRgxJm.js",revision:null},{url:"assets/SettingsNotifications-te4LKEdZ.js",revision:null},{url:"assets/SettingsBackup-t2irnG2Z.js",revision:null},{url:"assets/SettingsBackup-CX0rT0QJ.css",revision:null},{url:"assets/SettingsAppearance-e45pjRF6.js",revision:null},{url:"assets/SettingsAppearance-De_E9UCe.js",revision:null},{url:"assets/SettingsAccount-Y7hpH8Y3.css",revision:null},{url:"assets/SettingsAccount-UKbQLW6n.js",revision:null},{url:"assets/SettingsAccount-BcPNz9jC.js",revision:null},{url:"assets/Settings-bwLTNAxX.css",revision:null},{url:"assets/Settings-BVa4xU_p.js",revision:null},{url:"assets/Recordings-Bt_GlPOK.css",revision:null},{url:"assets/Recordings-BgqhrYcF.js",revision:null},{url:"assets/Plugins-s1k811lf.css",revision:null},{url:"assets/Plugins-DfMxKm_j.js",revision:null},{url:"assets/PluginSchema-CcWTcoz_.js",revision:null},{url:"assets/PluginConsole-CQebF4NZ.js",revision:null},{url:"assets/Plugin-DcwR4dBy.js",revision:null},{url:"assets/Plugin-CHdZvbiP.css",revision:null},{url:"assets/OAuthDeviceFlow-k6_zfcw_.js",revision:null},{url:"assets/Menu-BlYf1LF3.js",revision:null},{url:"assets/Logs-CJcq3xd6.js",revision:null},{url:"assets/Instances-CxgKUsJh.js",revision:null},{url:"assets/FirstSteps-Bpu4QLhF.js",revision:null},{url:"assets/Faces-DufdNYrc.js",revision:null},{url:"assets/CuiTopbarSlot-ac4GLLbf.js",revision:null},{url:"assets/CuiTopNavbarItem-Q7M4nMw5.js",revision:null},{url:"assets/CuiTopNavbarItem-CJqOqVMt.css",revision:null},{url:"assets/CuiSchema-Bdy2raxw.js",revision:null},{url:"assets/CuiSchema--yMBD996.css",revision:null},{url:"assets/CuiRecordingsGrid-lcLty5PV.css",revision:null},{url:"assets/CuiRecordingsGrid-BNyITEKD.js",revision:null},{url:"assets/CuiQRCode-CP6aDzF5.js",revision:null},{url:"assets/CuiQRCode-BtErH65J.css",revision:null},{url:"assets/CuiPluginOAuthButton-CxNqrBe7.js",revision:null},{url:"assets/CuiPluginCard-LxNHYHxa.css",revision:null},{url:"assets/CuiPluginCard-CwGKyEU6.js",revision:null},{url:"assets/CuiMenu-vSJpyg_1.js",revision:null},{url:"assets/CuiMenu-BWUfWLQP.css",revision:null},{url:"assets/CuiMarkdownContent-YieurDkL.js",revision:null},{url:"assets/CuiImage-CoVi1BKR.js",revision:null},{url:"assets/CuiImage-Bxf7z2N4.css",revision:null},{url:"assets/CuiFloatingButton-B5YMdr0X.js",revision:null},{url:"assets/CuiDataTable-saRt0sBc.js",revision:null},{url:"assets/CuiDataTable-DWuXg9Zg.css",revision:null},{url:"assets/CuiCameraTable-CCpYHBTn.js",revision:null},{url:"assets/CuiCameraSnapshot-C7wIpD9K.js",revision:null},{url:"assets/CuiCameraShares-CLN2wuHG.js",revision:null},{url:"assets/CuiCameraRecordings-DLjYt8vJ.js",revision:null},{url:"assets/CuiCameraRecordings-BHj7CUE7.css",revision:null},{url:"assets/CuiCameraPipCard-D3o29_wc.css",revision:null},{url:"assets/CuiCameraPipCard-BMxMzolT.js",revision:null},{url:"assets/CuiCameraCard-CXO5aDTJ.js",revision:null},{url:"assets/CuiCameraCard-BxGmxXxZ.css",revision:null},{url:"assets/CuiBottomSheet-DsjZEdig.css",revision:null},{url:"assets/CuiBottomSheet-DX9ynJj_.js",revision:null},{url:"assets/CuiBottomSheet-2SNSjqOZ.js",revision:null},{url:"assets/CuiBBoxPlayground-EFkdOBvq.css",revision:null},{url:"assets/CuiBBoxPlayground-CIU5kteO.js",revision:null},{url:"assets/CuiAvatar-BtMXnhxd.css",revision:null},{url:"assets/CuiAvatar-Bbdxpgvs.js",revision:null},{url:"assets/CuiActionButton-Bl7gqhIV.js",revision:null},{url:"assets/Console-bCie-JmB.js",revision:null},{url:"assets/ConfigTriggerWebhook-D3cHvW8H.js",revision:null},{url:"assets/ConfigTriggerSystem-CdOgSvDy.js",revision:null},{url:"assets/ConfigTriggerSensor-C9DsLW_Z.js",revision:null},{url:"assets/ConfigTriggerSchedule-CE47WiIV.js",revision:null},{url:"assets/ConfigTriggerManual-ChsUsNCK.js",revision:null},{url:"assets/ConfigTriggerGeofence-DGnBxTWd.js",revision:null},{url:"assets/ConfigTriggerDetection-C-e6Z1m9.js",revision:null},{url:"assets/ConfigConditionTime-lhWiIy2x.js",revision:null},{url:"assets/ConfigConditionSwitch-DsJEOPx0.js",revision:null},{url:"assets/ConfigConditionSensorState-CHYw1D90.js",revision:null},{url:"assets/ConfigConditionIfElse-Nd0_qDVA.js",revision:null},{url:"assets/ConfigActionVariable-B2BoiQPb.js",revision:null},{url:"assets/ConfigActionSnapshot-CB6IQ_jP.js",revision:null},{url:"assets/ConfigActionSensor-Dv7Hgx92.js",revision:null},{url:"assets/ConfigActionPlugin-C2gSPDim.js",revision:null},{url:"assets/ConfigActionOutput-P0WY0DlF.js",revision:null},{url:"assets/ConfigActionNotification-MJAViQFR.js",revision:null},{url:"assets/ConfigActionImageInput-BhO3ekJT.js",revision:null},{url:"assets/ConfigActionHttp-BGz4r_Nr.js",revision:null},{url:"assets/ConfigActionDelay-DOUAx4lh.js",revision:null},{url:"assets/ConfigActionCameraControl-DBRh1R9m.js",revision:null},{url:"assets/Config-JgftUZFe.css",revision:null},{url:"assets/Config--CF46OKO.js",revision:null},{url:"assets/Camview-Gxca3bvT.css",revision:null},{url:"assets/Camview-BqFeqFU1.js",revision:null},{url:"assets/Cameras-BJUWRm26.js",revision:null},{url:"assets/Cameras-54LaZPN3.css",revision:null},{url:"assets/CameraConsole-70m5hucZ.js",revision:null},{url:"assets/Camera-C3Il4X2T.js",revision:null},{url:"assets/Camera-BG8K5bH_.css",revision:null},{url:"assets/Automations-DOj8Eo03.js",revision:null},{url:"assets/Automation-Csu8t0D7.css",revision:null},{url:"assets/Automation-C7HuyjXk.js",revision:null},{url:"assets/Adminpanel-EjUhiapF.js",revision:null},{url:"assets/About-Cc2eFlW5.js",revision:null},{url:"assets/404-CGV2uv4y.js",revision:null},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/pwa-120x120.png",revision:"3f5ec31f6bd07910482227b259344110"},{url:"pwa/pwa-144x144.png",revision:"4fdf5c8fb085f764ed7dd5a26698bff5"},{url:"pwa/pwa-152x152.png",revision:"4cf41c7b603d382e83e098affb7cb9da"},{url:"pwa/pwa-167x167.png",revision:"de6a5ca921b45fb3bd30d27c707981c6"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-192x192.png",revision:"3d58c2dd940c535cc166cc8d0844429d"},{url:"pwa/pwa-24x24.png",revision:"bdb25f68ca300283b37041e47d3e6ba8"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-36x36.png",revision:"4d08bb198d4e54e4d12a0810fc59f059"},{url:"pwa/pwa-48x48.png",revision:"97d7369c892f1e0914c2617ff26feb3c"},{url:"pwa/pwa-50x50.png",revision:"a20fc2e6f26aa548f9cae07911087f6c"},{url:"pwa/pwa-64x64.png",revision:"f57763be3212fd4154c502d607e7ed38"},{url:"pwa/pwa-72x72.png",revision:"66698bb499639052ad337f7e9a7d7ea8"},{url:"pwa/pwa-88x88.png",revision:"6e8af0a85b0627a835b62067d5189cb4"},{url:"pwa/pwa-96x96.png",revision:"675ea863c25fa9ae31d4d76a47463c78"},{url:"manifest.webmanifest",revision:"ed2b67044c80f7c0362cd73cde2f96c5"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html"),{allowlist:[/^(?!\/api)/],denylist:[/[?&]session=/]}))});
|
|
1
|
+
if(!self.define){let s,e={};const l=(l,i)=>(l=new URL(l+".js",i).href,e[l]||new Promise(e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()}).then(()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s}));self.define=(i,r)=>{const a=s||("document"in self?document.currentScript.src:"")||location.href;if(e[a])return;let n={};const u=s=>l(s,a),o={module:{uri:a},exports:n,require:u};e[a]=Promise.all(i.map(s=>o[s]||u(s))).then(s=>(r(...s),n))}}define(["./workbox-778a14ff"],function(s){"use strict";s.setCacheNameDetails({prefix:"camera-ui"}),self.addEventListener("message",s=>{s.data&&"SKIP_WAITING"===s.data.type&&self.skipWaiting()}),s.clientsClaim(),s.precacheAndRoute([{url:"robots.txt",revision:"f77c87f977e0fcce05a6df46c885a129"},{url:"og-share.png",revision:"0ca1dd15e2498de1d1423fe6134db452"},{url:"index.html",revision:"a23ef3d855fea63028863b3f7421bbc3"},{url:"pwa/pwa-96x96.png",revision:"675ea863c25fa9ae31d4d76a47463c78"},{url:"pwa/pwa-88x88.png",revision:"6e8af0a85b0627a835b62067d5189cb4"},{url:"pwa/pwa-72x72.png",revision:"66698bb499639052ad337f7e9a7d7ea8"},{url:"pwa/pwa-64x64.png",revision:"f57763be3212fd4154c502d607e7ed38"},{url:"pwa/pwa-50x50.png",revision:"a20fc2e6f26aa548f9cae07911087f6c"},{url:"pwa/pwa-48x48.png",revision:"97d7369c892f1e0914c2617ff26feb3c"},{url:"pwa/pwa-36x36.png",revision:"4d08bb198d4e54e4d12a0810fc59f059"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-24x24.png",revision:"bdb25f68ca300283b37041e47d3e6ba8"},{url:"pwa/pwa-192x192.png",revision:"3d58c2dd940c535cc166cc8d0844429d"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-167x167.png",revision:"de6a5ca921b45fb3bd30d27c707981c6"},{url:"pwa/pwa-152x152.png",revision:"4cf41c7b603d382e83e098affb7cb9da"},{url:"pwa/pwa-144x144.png",revision:"4fdf5c8fb085f764ed7dd5a26698bff5"},{url:"pwa/pwa-120x120.png",revision:"3f5ec31f6bd07910482227b259344110"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/logo.svg",revision:"1aa262f4a37293a91083eea10794d2ca"},{url:"pwa/favicon-64.ico",revision:"6a697d7662ab5ee246918cdc7c412343"},{url:"pwa/favicon-48.ico",revision:"d0a27003af457cb85651c84c60c87ef0"},{url:"pwa/favicon-32.ico",revision:"6e711cbf0b53afe4a7d0057780fa42b9"},{url:"pwa/favicon-16.ico",revision:"163ae861c5ab9f68ed21324c19dfe35d"},{url:"pwa/apple-touch-icon-180x180.png",revision:"91aec7b3a553812fbd3cd72adb17fcc4"},{url:"pwa/apple-splash-portrait-light-828x1792.png",revision:"8deb1063185df6a2d3089a9fa33f6ad1"},{url:"pwa/apple-splash-portrait-light-750x1334.png",revision:"191c785b1e7b47ac1b1d6bc2a84bde85"},{url:"pwa/apple-splash-portrait-light-640x1136.png",revision:"588e312fd0851d5767972a1efc33e6a3"},{url:"pwa/apple-splash-portrait-light-2048x2732.png",revision:"cf9c75c2e56f8d3af7d914a00ce30286"},{url:"pwa/apple-splash-portrait-light-1668x2388.png",revision:"5db134deca3d2e8a1ae2d8e67c77c420"},{url:"pwa/apple-splash-portrait-light-1668x2224.png",revision:"a1b5adab2a71d0fa646e7b0e9a4fcb71"},{url:"pwa/apple-splash-portrait-light-1620x2160.png",revision:"41bdc2c492d374bf8c6b6875e2beb9f1"},{url:"pwa/apple-splash-portrait-light-1536x2048.png",revision:"42716fc23cfa58d3f154fea1875eb3f5"},{url:"pwa/apple-splash-portrait-light-1290x2796.png",revision:"d57711837cf7e3801a9e8126b1695aaa"},{url:"pwa/apple-splash-portrait-light-1284x2778.png",revision:"461b13cf0d9c293ca220700bb4148afa"},{url:"pwa/apple-splash-portrait-light-1242x2688.png",revision:"2b320f74bc7da7bf0d1be699183416c3"},{url:"pwa/apple-splash-portrait-light-1242x2208.png",revision:"8fd1367cac03e5798973cfa4e0dec5b0"},{url:"pwa/apple-splash-portrait-light-1179x2556.png",revision:"8d1fc622bdb48dda2461e4f47a49249a"},{url:"pwa/apple-splash-portrait-light-1170x2532.png",revision:"58d656b4de9b32a09fc2ea1028116dfb"},{url:"pwa/apple-splash-portrait-light-1125x2436.png",revision:"1a02e33add13bccc9f407efcfd2cf890"},{url:"pwa/apple-splash-portrait-dark-828x1792.png",revision:"543d10f74f6f098e49ba989899182dee"},{url:"pwa/apple-splash-portrait-dark-750x1334.png",revision:"54f99ba556f7cc149eb03fe6207d411d"},{url:"pwa/apple-splash-portrait-dark-640x1136.png",revision:"b901a6f04ef976aa81573ec0f3c8f32b"},{url:"pwa/apple-splash-portrait-dark-2048x2732.png",revision:"60acb5fbde5bb76a368238c5e079c717"},{url:"pwa/apple-splash-portrait-dark-1668x2388.png",revision:"fb7fb372580598abf8a1d8eb7305462a"},{url:"pwa/apple-splash-portrait-dark-1668x2224.png",revision:"1e7b39c9f5fdca7ddf23c1248f7628bf"},{url:"pwa/apple-splash-portrait-dark-1620x2160.png",revision:"1a9f84fba88d4cd5924cf5a39d541b46"},{url:"pwa/apple-splash-portrait-dark-1536x2048.png",revision:"0b26c0a578f6b13b3df06abecc81fb82"},{url:"pwa/apple-splash-portrait-dark-1290x2796.png",revision:"e7f2a468891736413b1e0622a510fd5a"},{url:"pwa/apple-splash-portrait-dark-1284x2778.png",revision:"d7230994de3c4c6016ac252431031ea7"},{url:"pwa/apple-splash-portrait-dark-1242x2688.png",revision:"c56eb0a4a8b4c7bb850cbfc35dd62bba"},{url:"pwa/apple-splash-portrait-dark-1242x2208.png",revision:"1b7f03eaab3cf8af8aa6057fd97278d8"},{url:"pwa/apple-splash-portrait-dark-1179x2556.png",revision:"8eac224083023d0d21374d9f9087bab5"},{url:"pwa/apple-splash-portrait-dark-1170x2532.png",revision:"476ac5131289040d8d88803c18dc20bb"},{url:"pwa/apple-splash-portrait-dark-1125x2436.png",revision:"53ddd8644a89bfc79c8d1bfbaa51527b"},{url:"pwa/apple-splash-landscape-light-2796x1290.png",revision:"a46e458259177e134ad383d133b29774"},{url:"pwa/apple-splash-landscape-light-2778x1284.png",revision:"95d2479cf715c2ea0104fd5f55fa62b3"},{url:"pwa/apple-splash-landscape-light-2732x2048.png",revision:"0e5ec355113efe5ce253583209a64bb8"},{url:"pwa/apple-splash-landscape-light-2688x1242.png",revision:"3757f5338eb50c9f6fb8ad0d72597465"},{url:"pwa/apple-splash-landscape-light-2556x1179.png",revision:"3f0efc9e8de850ae5d3a72a158d39055"},{url:"pwa/apple-splash-landscape-light-2532x1170.png",revision:"b9e11e5a3435cf159f240b5f6da5dc76"},{url:"pwa/apple-splash-landscape-light-2436x1125.png",revision:"459b9c158b3a52222787d00a276baa21"},{url:"pwa/apple-splash-landscape-light-2388x1668.png",revision:"3733608412963cb747e32b2790013523"},{url:"pwa/apple-splash-landscape-light-2224x1668.png",revision:"ecf0efece27d70815f7401f7f3e40a24"},{url:"pwa/apple-splash-landscape-light-2208x1242.png",revision:"653857094b0c183908571fea1aed7b2f"},{url:"pwa/apple-splash-landscape-light-2160x1620.png",revision:"31ac689a78386cf844e33f10fd5d2029"},{url:"pwa/apple-splash-landscape-light-2048x1536.png",revision:"1b27b72b070b260eceeaab092a82663d"},{url:"pwa/apple-splash-landscape-light-1792x828.png",revision:"c6e29d789061fc48eb9f3a54cb1950be"},{url:"pwa/apple-splash-landscape-light-1334x750.png",revision:"f513cdc13ffaf0c2a82bb207e2a9a397"},{url:"pwa/apple-splash-landscape-light-1136x640.png",revision:"c9b4c38f0a267051c0c83cc92c0f5767"},{url:"pwa/apple-splash-landscape-dark-2796x1290.png",revision:"22b9597a28c081730e3430e467b4e36d"},{url:"pwa/apple-splash-landscape-dark-2778x1284.png",revision:"19d1e7a02d9edd3354c61b7c54ea9c1e"},{url:"pwa/apple-splash-landscape-dark-2732x2048.png",revision:"dc9fbb966dfc3350466279749c2946d7"},{url:"pwa/apple-splash-landscape-dark-2688x1242.png",revision:"dcd13ed9567fa4d98867f5c97cc89695"},{url:"pwa/apple-splash-landscape-dark-2556x1179.png",revision:"02e2914d36b2aaf6da02799414a23738"},{url:"pwa/apple-splash-landscape-dark-2532x1170.png",revision:"b89d280148f1bcb816c6364c37daefb6"},{url:"pwa/apple-splash-landscape-dark-2436x1125.png",revision:"85613cc4f5040791ef13e4b2a1ecc840"},{url:"pwa/apple-splash-landscape-dark-2388x1668.png",revision:"e17cbe3b198574eb6fc822c17e22d935"},{url:"pwa/apple-splash-landscape-dark-2224x1668.png",revision:"1144751415d9c1f3d1bc34407b9a9539"},{url:"pwa/apple-splash-landscape-dark-2208x1242.png",revision:"2989b9f038112f8eed3694fa53b86e6a"},{url:"pwa/apple-splash-landscape-dark-2160x1620.png",revision:"ee54046f738fe4346d7febbfaa711244"},{url:"pwa/apple-splash-landscape-dark-2048x1536.png",revision:"70f0181b7e075e3b64e261c4d4e3eada"},{url:"pwa/apple-splash-landscape-dark-1792x828.png",revision:"281d292ea4448638bb250a3fca5f5f44"},{url:"pwa/apple-splash-landscape-dark-1334x750.png",revision:"d82dd37eb2bdf815c1e2ab367134cbbf"},{url:"pwa/apple-splash-landscape-dark-1136x640.png",revision:"c6b193de9bd234c81fdea1d28fe7b88c"},{url:"fonts/InterVariable.woff2",revision:"2bf3d951bf9d6109437ea0874bbf12fb"},{url:"assets/zoom-in-D2zo_jfL.js",revision:null},{url:"assets/worker-yaml-crtWQpDN.js",revision:null},{url:"assets/worker-base-ybazWkNy.js",revision:null},{url:"assets/workbox-window.prod.es5-CtK9nkTO.js",revision:null},{url:"assets/webhook-Dgi5u5S_.js",revision:null},{url:"assets/web-xDCdGu4q.js",revision:null},{url:"assets/web-iAcZCcyL.js",revision:null},{url:"assets/web-ERIfo5an.js",revision:null},{url:"assets/web-DohTQteu.js",revision:null},{url:"assets/web-Do1A1_Uv.js",revision:null},{url:"assets/web-DiteWocu.js",revision:null},{url:"assets/web-D4GUyvng.js",revision:null},{url:"assets/web-D2BwFPf_.js",revision:null},{url:"assets/web-CbVsSB6C.js",revision:null},{url:"assets/web-BpltzPRC.js",revision:null},{url:"assets/web-BjKL51lK-D9ETiyug.js",revision:null},{url:"assets/web-Bba8RmHI.js",revision:null},{url:"assets/web-B9fYUOqN.js",revision:null},{url:"assets/web-54_Wj9Me.js",revision:null},{url:"assets/view-grid-D04t817d.css",revision:null},{url:"assets/view-grid-B0KB2pRf.js",revision:null},{url:"assets/vendor-zod-DycFxUhi.js",revision:null},{url:"assets/vendor-xterm-BrP-ENHg.css",revision:null},{url:"assets/vendor-xterm-BRN-hOYD.js",revision:null},{url:"assets/vendor-vueflow-DSLHUKHF.js",revision:null},{url:"assets/vendor-primevue-7iEzPOvf.js",revision:null},{url:"assets/vendor-markdown-UV_ycMZu.js",revision:null},{url:"assets/vendor-markdown-DtOhvyRx.css",revision:null},{url:"assets/vendor-leaflet-vh-t_kPv.css",revision:null},{url:"assets/vendor-leaflet-_2Z0GiOD.js",revision:null},{url:"assets/vendor-gridstack-Rg2RhwAc.css",revision:null},{url:"assets/vendor-gridstack-DD5uGA3X.js",revision:null},{url:"assets/vendor-draggabilly-Dl6FWJwx.js",revision:null},{url:"assets/vendor-dnd-_zxmhxjM.js",revision:null},{url:"assets/vendor-core-BKHiXSX7.js",revision:null},{url:"assets/vendor-chart-CBBmwsyM.js",revision:null},{url:"assets/vendor-capacitor-DgfjcZj-.js",revision:null},{url:"assets/vendor-cameraui-DgSMexWY.js",revision:null},{url:"assets/vendor-ace-DdrK3_G3.js",revision:null},{url:"assets/vendor-DoIl6acN.js",revision:null},{url:"assets/users.schema-BIL9DqRo.js",revision:null},{url:"assets/useUserOptions-CPkl1O0A.js",revision:null},{url:"assets/useStreamStatus-N--czepD.js",revision:null},{url:"assets/useSharedComposables-gpJ--qZh.js",revision:null},{url:"assets/useLogsSocket-OnTDnkPr.js",revision:null},{url:"assets/useLogsSocket-4F2-d9fa.css",revision:null},{url:"assets/useFileDownload-Cp1oH80I.js",revision:null},{url:"assets/useElectron-mh8HQUAI.js",revision:null},{url:"assets/useCuiDialog-DHktK-mZ.js",revision:null},{url:"assets/useCuiCameraDrawer-DnN9lwiy.js",revision:null},{url:"assets/useCameraOptions-CO1HD_gL.js",revision:null},{url:"assets/useBiometricCredentials-BGRyKe48.js",revision:null},{url:"assets/upload-AGww_lJf.js",revision:null},{url:"assets/ui-DrzKhUXW.js",revision:null},{url:"assets/types-v-mK9gdq.css",revision:null},{url:"assets/types-ByBSoibP.js",revision:null},{url:"assets/types-BxFyoO54.js",revision:null},{url:"assets/types-BXo-JDGR.js",revision:null},{url:"assets/types-6RvFwckU.js",revision:null},{url:"assets/trash2-CaXm_MmJ.js",revision:null},{url:"assets/trash-fill-Da1v18iA.js",revision:null},{url:"assets/trash-2-CkdsE6jp.js",revision:null},{url:"assets/theme-DhaXe7yA.js",revision:null},{url:"assets/terminal-DbYAPed-.js",revision:null},{url:"assets/source-branch-Cd8fHY0E.js",revision:null},{url:"assets/shield-check-ChlSHOnR.js",revision:null},{url:"assets/shares-4w6GDwjp.js",revision:null},{url:"assets/settings-uhDSoUhb.js",revision:null},{url:"assets/server-CRxodRik.js",revision:null},{url:"assets/search-D-QOrChC.js",revision:null},{url:"assets/routerState-dQtObsFs.js",revision:null},{url:"assets/router-i0r3QZvk.js",revision:null},{url:"assets/router-BUTKN1yM.css",revision:null},{url:"assets/round-restart-alt-fCNtJi_k.css",revision:null},{url:"assets/round-restart-alt-c8MQjhLh.js",revision:null},{url:"assets/round-alt-arrow-left-bold-C-0SLIa9.js",revision:null},{url:"assets/rolldown-runtime-DAXXjFlN.js",revision:null},{url:"assets/ring-resize-DQajal-Z.js",revision:null},{url:"assets/refresh-rounded-Bqiw9DUu.js",revision:null},{url:"assets/puzzle-filled-C1z2qa5-.js",revision:null},{url:"assets/power-BcSFRPtI.js",revision:null},{url:"assets/plus-Dqgz6pez.js",revision:null},{url:"assets/plus-BMt5ORD8.js",revision:null},{url:"assets/plugins-NVAodP6s.js",revision:null},{url:"assets/plugin-C1dsgk0N.js",revision:null},{url:"assets/play-solid-BOoBnMaN.js",revision:null},{url:"assets/platformLabels-D-cF6OTP.js",revision:null},{url:"assets/notifications-DHmx6O_s.js",revision:null},{url:"assets/nodeDefinitions-Dvawtk76.js",revision:null},{url:"assets/native-j1dyx58L.js",revision:null},{url:"assets/native-fQjIFjCA.js",revision:null},{url:"assets/motion-sensor-DD8SfD-m.js",revision:null},{url:"assets/mode-yaml-CIYL8U3d.js",revision:null},{url:"assets/microphone-CAVr4YFv.js",revision:null},{url:"assets/main-DudyqPaR.css",revision:null},{url:"assets/main-CIorSaV7.js",revision:null},{url:"assets/logo-DmEiRk0z.png",revision:null},{url:"assets/logo-512-DLKVOU2S.png",revision:null},{url:"assets/logo-256-BCQk9H1-.png",revision:null},{url:"assets/locale-BWvy9Nlz.js",revision:null},{url:"assets/lightbulb-outline-B0CFho4y.js",revision:null},{url:"assets/instances-DwnEOXk1.js",revision:null},{url:"assets/information-outline-ChTb2u7w.js",revision:null},{url:"assets/home-Dey3bw1P.js",revision:null},{url:"assets/hasPermission-P1TgpAur.js",revision:null},{url:"assets/grid-fill-DBU_n60V.js",revision:null},{url:"assets/github-DLhaVazy.js",revision:null},{url:"assets/face-recognition-D5evlO1d.js",revision:null},{url:"assets/eventIcons-CtTopM6B.js",revision:null},{url:"assets/eventIcons-2hVCNchU.css",revision:null},{url:"assets/esm-yIpeulKl.js",revision:null},{url:"assets/esm-u_3xdCfr.js",revision:null},{url:"assets/esm-edrype40.js",revision:null},{url:"assets/esm-M_oLCAXC.js",revision:null},{url:"assets/esm-Do9bGF06.js",revision:null},{url:"assets/esm-Dc3lKVtD.js",revision:null},{url:"assets/esm-CjzerNPk.js",revision:null},{url:"assets/esm-CWeEZr0g.js",revision:null},{url:"assets/esm-CIAIVgGo.js",revision:null},{url:"assets/esm-CA4iVOgN2.js",revision:null},{url:"assets/esm-C51W8e2w.js",revision:null},{url:"assets/esm-BUgHC3bC.js",revision:null},{url:"assets/esm-B2shpuvL.js",revision:null},{url:"assets/esm-B-_4iFTo.js",revision:null},{url:"assets/download-CY-SlBan.js",revision:null},{url:"assets/dist-CQkfz2Dn.js",revision:null},{url:"assets/deviceId-OXLTtG-_.js",revision:null},{url:"assets/delete-5a2q7_46.js",revision:null},{url:"assets/copy-DcVDLQlM.js",revision:null},{url:"assets/copy-16-filled-CZzRMAt_.js",revision:null},{url:"assets/cog-Ce2a8uiA.js",revision:null},{url:"assets/cloudHandoff-Bym-XqR1.js",revision:null},{url:"assets/cloud-outline-CzQmkpCY.js",revision:null},{url:"assets/cloud-outline-BPAJ6_kc.js",revision:null},{url:"assets/cloud-check-BbqgBLhK.js",revision:null},{url:"assets/close-circle-ClG7lNzZ.js",revision:null},{url:"assets/close-DuwOOM-P.js",revision:null},{url:"assets/clock-outline-MhJC2-0d.js",revision:null},{url:"assets/circular-connection-BTKd-doI.js",revision:null},{url:"assets/chevron-right-CXZ4SFSg.js",revision:null},{url:"assets/chevron-down-KZwkCQ3v.js",revision:null},{url:"assets/check-circle-BauXcL6H.js",revision:null},{url:"assets/check-BMoCATAa.js",revision:null},{url:"assets/cctv-CBtg_v6o.js",revision:null},{url:"assets/cctv-BsGdaLfw.js",revision:null},{url:"assets/cameras.schema-Clwro_L9.js",revision:null},{url:"assets/cameras-CvJDLEZ3.js",revision:null},{url:"assets/camera-preview-C7GT5VHo.png",revision:null},{url:"assets/bug-DPw8k4Lk.js",revision:null},{url:"assets/bell-ring-CenQn4Yt.js",revision:null},{url:"assets/bell-outline-U3Gb4nI1.js",revision:null},{url:"assets/bell-ChE83DC8.js",revision:null},{url:"assets/backup-Co1bwdSv.js",revision:null},{url:"assets/back-filled-DqCMpeEk.js",revision:null},{url:"assets/automations-E7vwN3kw.js",revision:null},{url:"assets/automations-C309DNNg.js",revision:null},{url:"assets/automationBlueprint-DMjszOs4.js",revision:null},{url:"assets/automation-IpK710bv.js",revision:null},{url:"assets/auth-cdPNNpNC.js",revision:null},{url:"assets/arrow-right-outline-CliUt84m.js",revision:null},{url:"assets/arrow-left-9W2BpRxA.js",revision:null},{url:"assets/api-vCJ1T8Ow.css",revision:null},{url:"assets/api-aSYFKxo6.js",revision:null},{url:"assets/api-CbBOEbKQ.js",revision:null},{url:"assets/alert-outline-T8FhpQ9w.js",revision:null},{url:"assets/alert-circle-azHizGIK.js",revision:null},{url:"assets/ace.config-D884GuRj.js",revision:null},{url:"assets/ace-DQ1lNH50.js",revision:null},{url:"assets/account-DqOHQKv8.js",revision:null},{url:"assets/_plugin-vue_export-helper-BDNMzG2s.js",revision:null},{url:"assets/Workers-DiIBLgfr.js",revision:null},{url:"assets/Workers-DCx1wSq5.css",revision:null},{url:"assets/VersionsHandler-Dpo-L314.js",revision:null},{url:"assets/VariableSuggestions-PEzupqiE.js",revision:null},{url:"assets/VariableInput-CFs-kzqd.js",revision:null},{url:"assets/Terminal-CrOfQJ-O.css",revision:null},{url:"assets/Terminal-CD9he5xW.js",revision:null},{url:"assets/SettingsUsers-Ciu1ry18.js",revision:null},{url:"assets/SettingsSystem-obAYrm8J.js",revision:null},{url:"assets/SettingsRemote-D9COJF4m.css",revision:null},{url:"assets/SettingsRemote-Bf8bqXYs.js",revision:null},{url:"assets/SettingsRecordings-BsJ9z-RE.js",revision:null},{url:"assets/SettingsNotifications-BZ1IXj0a.js",revision:null},{url:"assets/SettingsBackup-CfOHDar8.js",revision:null},{url:"assets/SettingsBackup-CX0rT0QJ.css",revision:null},{url:"assets/SettingsAppearance-V5aeQ9c8.js",revision:null},{url:"assets/SettingsAppearance-DzG2tlwK.js",revision:null},{url:"assets/SettingsAccount-Y7hpH8Y3.css",revision:null},{url:"assets/SettingsAccount-DKHO4mDj.js",revision:null},{url:"assets/SettingsAccount-DFMOh1ci.js",revision:null},{url:"assets/Settings-bwLTNAxX.css",revision:null},{url:"assets/Settings-BljKDhYY.js",revision:null},{url:"assets/Recordings-Bt_GlPOK.css",revision:null},{url:"assets/Recordings--XaVJZJi.js",revision:null},{url:"assets/Plugins-DMLQY_6J.js",revision:null},{url:"assets/PluginSearch-XjGr5qdW.css",revision:null},{url:"assets/PluginSearch-DCuLwE3v.js",revision:null},{url:"assets/PluginSearch-BC1L0-VN.js",revision:null},{url:"assets/PluginSchema-CWcq67pj.js",revision:null},{url:"assets/PluginDetail-DbYxVe3g.css",revision:null},{url:"assets/PluginDetail-DKywYzmS.js",revision:null},{url:"assets/PluginConsole-BdbmROpF.js",revision:null},{url:"assets/Plugin-Yv0ZmTNZ.css",revision:null},{url:"assets/Plugin-CeLrucXT.js",revision:null},{url:"assets/OAuthDeviceFlow-Cp9uZWm1.js",revision:null},{url:"assets/Menu-Cl-biyd7.js",revision:null},{url:"assets/Logs-DzR8mmLu.js",revision:null},{url:"assets/Instances-kmkRiBrV.js",revision:null},{url:"assets/FirstSteps-Boec1bzd.js",revision:null},{url:"assets/Faces-IVmqcGuF.js",revision:null},{url:"assets/CuiTopbarSlot-ac4GLLbf.js",revision:null},{url:"assets/CuiTopNavbarItem-Q7M4nMw5.js",revision:null},{url:"assets/CuiTopNavbarItem-CJqOqVMt.css",revision:null},{url:"assets/CuiSchema-CfqOJmDH.js",revision:null},{url:"assets/CuiSchema--yMBD996.css",revision:null},{url:"assets/CuiRecordingsGrid-lcLty5PV.css",revision:null},{url:"assets/CuiRecordingsGrid-CzMzhUXb.js",revision:null},{url:"assets/CuiQRCode-D_31ri5b.js",revision:null},{url:"assets/CuiQRCode-BtErH65J.css",revision:null},{url:"assets/CuiPluginTrustBadge-YhfqGTyR.js",revision:null},{url:"assets/CuiPluginTrustBadge-QHTLaN1n.css",revision:null},{url:"assets/CuiPluginOAuthButton-X8ZGFPwW.js",revision:null},{url:"assets/CuiPluginCategoryChip-rfdhCEi-.js",revision:null},{url:"assets/CuiPluginCategoryChip-CdGrTCxH.css",revision:null},{url:"assets/CuiPluginCard-LxNHYHxa.css",revision:null},{url:"assets/CuiPluginCard-D1SylQbM.js",revision:null},{url:"assets/CuiMenu-Ds6GufVn.js",revision:null},{url:"assets/CuiMenu-BWUfWLQP.css",revision:null},{url:"assets/CuiMarkdownContent-qIS8eQHX.js",revision:null},{url:"assets/CuiMarkdownContent-DaJ8HzaP.js",revision:null},{url:"assets/CuiImage-Bxf7z2N4.css",revision:null},{url:"assets/CuiImage-B97QDAl7.js",revision:null},{url:"assets/CuiFloatingButton-B5YMdr0X.js",revision:null},{url:"assets/CuiDataTable-saRt0sBc.js",revision:null},{url:"assets/CuiDataTable-DWuXg9Zg.css",revision:null},{url:"assets/CuiCameraTable-B7g53tPM.js",revision:null},{url:"assets/CuiCameraSnapshot-DTtvEMy1.js",revision:null},{url:"assets/CuiCameraShares-BCMYN11A.js",revision:null},{url:"assets/CuiCameraRecordings-iWAFGo8e.js",revision:null},{url:"assets/CuiCameraRecordings-BHj7CUE7.css",revision:null},{url:"assets/CuiCameraPipCard-KUBxGPoU.js",revision:null},{url:"assets/CuiCameraPipCard-D3o29_wc.css",revision:null},{url:"assets/CuiCameraCard-IyJNZMGs.js",revision:null},{url:"assets/CuiCameraCard-BxGmxXxZ.css",revision:null},{url:"assets/CuiBottomSheet-DsjZEdig.css",revision:null},{url:"assets/CuiBottomSheet-DKUg_g5x.js",revision:null},{url:"assets/CuiBottomSheet-B7aQ7GCw.js",revision:null},{url:"assets/CuiBBoxPlayground-EFkdOBvq.css",revision:null},{url:"assets/CuiBBoxPlayground-CIU5kteO.js",revision:null},{url:"assets/CuiAvatar-of_eVQsv.js",revision:null},{url:"assets/CuiAvatar-BtMXnhxd.css",revision:null},{url:"assets/CuiActionButton-Bl7gqhIV.js",revision:null},{url:"assets/Console-DrDqDUtO.js",revision:null},{url:"assets/ConfigTriggerWebhook-D3cHvW8H.js",revision:null},{url:"assets/ConfigTriggerSystem-D1oGAhLn.js",revision:null},{url:"assets/ConfigTriggerSensor-DuCtavZo.js",revision:null},{url:"assets/ConfigTriggerSchedule-CE47WiIV.js",revision:null},{url:"assets/ConfigTriggerManual-ChsUsNCK.js",revision:null},{url:"assets/ConfigTriggerGeofence-CTqptMUN.js",revision:null},{url:"assets/ConfigTriggerDetection-DWjlecON.js",revision:null},{url:"assets/ConfigConditionTime-lhWiIy2x.js",revision:null},{url:"assets/ConfigConditionSwitch-CC0w-Hvy.js",revision:null},{url:"assets/ConfigConditionSensorState-x0M0kHwL.js",revision:null},{url:"assets/ConfigConditionIfElse-Bhd2FYyz.js",revision:null},{url:"assets/ConfigActionVariable-B2BoiQPb.js",revision:null},{url:"assets/ConfigActionSnapshot-ClyCQuB3.js",revision:null},{url:"assets/ConfigActionSensor-D_Dt1qtt.js",revision:null},{url:"assets/ConfigActionPlugin-B7YAbFlf.js",revision:null},{url:"assets/ConfigActionOutput-P0WY0DlF.js",revision:null},{url:"assets/ConfigActionNotification-B5cCmBXr.js",revision:null},{url:"assets/ConfigActionImageInput-BhO3ekJT.js",revision:null},{url:"assets/ConfigActionHttp-BGz4r_Nr.js",revision:null},{url:"assets/ConfigActionDelay-DOUAx4lh.js",revision:null},{url:"assets/ConfigActionCameraControl-D4hJLWmj.js",revision:null},{url:"assets/Config-JgftUZFe.css",revision:null},{url:"assets/Config-B9jI0lTQ.js",revision:null},{url:"assets/Camview-DD9jLT7-.js",revision:null},{url:"assets/Camview-CDM4Q_tc.css",revision:null},{url:"assets/Cameras-DbBU5mou.js",revision:null},{url:"assets/Cameras-54LaZPN3.css",revision:null},{url:"assets/CameraConsole-uD4aWou8.js",revision:null},{url:"assets/Camera-Cf4QZbsx.js",revision:null},{url:"assets/Camera-BG8K5bH_.css",revision:null},{url:"assets/Automations-DBACrYHy.js",revision:null},{url:"assets/AutomationStoreDetail-D6Ugj8ba.js",revision:null},{url:"assets/AutomationStoreDetail--egqUOqn.css",revision:null},{url:"assets/AutomationStore-Q25Okhz8.css",revision:null},{url:"assets/AutomationStore-BcMX7WbG.js",revision:null},{url:"assets/AutomationImport-CR4Vsxkb.js",revision:null},{url:"assets/Automation-D0ps_z9e.js",revision:null},{url:"assets/Automation-Csu8t0D7.css",revision:null},{url:"assets/Adminpanel-uj7eTmlN.js",revision:null},{url:"assets/About-BzuuHdW1.js",revision:null},{url:"assets/404-CZtDF9in.js",revision:null},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/pwa-120x120.png",revision:"3f5ec31f6bd07910482227b259344110"},{url:"pwa/pwa-144x144.png",revision:"4fdf5c8fb085f764ed7dd5a26698bff5"},{url:"pwa/pwa-152x152.png",revision:"4cf41c7b603d382e83e098affb7cb9da"},{url:"pwa/pwa-167x167.png",revision:"de6a5ca921b45fb3bd30d27c707981c6"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-192x192.png",revision:"3d58c2dd940c535cc166cc8d0844429d"},{url:"pwa/pwa-24x24.png",revision:"bdb25f68ca300283b37041e47d3e6ba8"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-36x36.png",revision:"4d08bb198d4e54e4d12a0810fc59f059"},{url:"pwa/pwa-48x48.png",revision:"97d7369c892f1e0914c2617ff26feb3c"},{url:"pwa/pwa-50x50.png",revision:"a20fc2e6f26aa548f9cae07911087f6c"},{url:"pwa/pwa-64x64.png",revision:"f57763be3212fd4154c502d607e7ed38"},{url:"pwa/pwa-72x72.png",revision:"66698bb499639052ad337f7e9a7d7ea8"},{url:"pwa/pwa-88x88.png",revision:"6e8af0a85b0627a835b62067d5189cb4"},{url:"pwa/pwa-96x96.png",revision:"675ea863c25fa9ae31d4d76a47463c78"},{url:"manifest.webmanifest",revision:"ed2b67044c80f7c0362cd73cde2f96c5"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html"),{allowlist:[/^(?!\/api)/],denylist:[/[?&]session=/]}))});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
define(["exports"],function(t){"use strict";try{self["workbox:core:7.4.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}const n={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},i=t=>[n.prefix,t,n.suffix].filter(t=>t&&t.length>0).join("-"),r=t=>{(t=>{for(const e of Object.keys(n))t(e)})(e=>{"string"==typeof t[e]&&(n[e]=t[e])})},o=t=>t||i(n.precache),c=t=>t||i(n.runtime);try{self["workbox:routing:7.4.0"]&&_()}catch(t){}const a=t=>t&&"object"==typeof t?t:{handle:t};class h{constructor(t,e,s="GET"){this.handler=a(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=a(t)}}class u extends h{constructor(t,e,s){super(({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)},e,s)}}class l{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)})}addCacheListener(){self.addEventListener("message",t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map(e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})}));t.waitUntil(s),t.ports&&t.ports[0]&&s.then(()=>t.ports[0].postMessage(!0))}})}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const c=t.method;if(!o&&this.i.has(c)&&(o=this.i.get(c)),!o)return;let a;try{a=o.handle({url:s,request:t,event:e,params:i})}catch(t){a=Promise.reject(t)}const h=r&&r.catchHandler;return a instanceof Promise&&(this.o||h)&&(a=a.catch(async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n})),a}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,a(t))}setCatchHandler(t){this.o=a(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let f;const w=()=>(f||(f=new l,f.addFetchListener(),f.addCacheListener()),f);function d(t,e,n){let i;if("string"==typeof t){const s=new URL(t,location.href);i=new h(({url:t})=>t.href===s.href,e,n)}else if(t instanceof RegExp)i=new u(t,e,n);else if("function"==typeof t)i=new h(t,e,n);else{if(!(t instanceof h))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});i=t}return w().registerRoute(i),i}function p(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.4.0"]&&_()}catch(t){}function y(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class g{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class R{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let m;async function v(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=function(){if(void 0===m){const t=new Response("");if("body"in t)try{new Response(t.body),m=!0}catch(t){m=!1}m=!1}return m}()?i.body:await i.blob();return new Response(o,r)}function q(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class U{constructor(){this.promise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}}const b=new Set;try{self["workbox:strategies:7.4.0"]&&_()}catch(t){}function L(t){return"string"==typeof t?new Request(t):t}class C{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new U,this.R=[],this.m=[...t.plugins],this.v=new Map;for(const t of this.m)this.v.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=L(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=L(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=L(t);var i;await(i=0,new Promise(t=>setTimeout(t,i)));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const c=await this.q(e);if(!c)return!1;const{cacheName:a,matchOptions:h}=this.l,u=await self.caches.open(a),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=q(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===q(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?c.clone():c)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of b)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:a,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=L(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.v.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.R.push(t),t}async doneWaiting(){for(;this.R.length;){const t=this.R.splice(0),e=(await Promise.allSettled(t)).find(t=>"rejected"===t.status);if(e)throw e.reason}}destroy(){this.p.resolve(null)}async q(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class E{constructor(t={}){this.cacheName=c(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new C(this,{event:e,request:s,params:n}),r=this.U(i,s,e);return[r,this.L(r,i,s,e)]}async U(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this._(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async L(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class O extends E{constructor(t={}){t.cacheName=o(t.cacheName),super(t),this.C=!1!==t.fallbackToNetwork,this.plugins.push(O.copyRedirectedCacheableResponsesPlugin)}async _(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.O(t,e):await this.N(t,e))}async N(t,e){let n;const i=e.params||{};if(!this.C)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.j(),await e.cachePut(t,n.clone()))}return n}async O(t,e){this.j();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}j(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==O.copyRedirectedCacheableResponsesPlugin&&(n===O.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(O.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}O.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},O.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await v(t):t};class x{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.P=new Map,this.k=new Map,this.K=new Map,this.l=new O({cacheName:o(t),plugins:[...e,new R({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.T||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.T=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=y(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.P.has(i)&&this.P.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.P.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.K.has(t)&&this.K.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.K.set(t,n.integrity)}if(this.P.set(i,t),this.k.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return p(t,async()=>{const e=new g;this.strategy.plugins.push(e);for(const[e,s]of this.P){const n=this.K.get(s),i=this.k.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}})}activate(t){return p(t,async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.P.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}})}getURLsToCacheKeys(){return this.P}getCachedURLs(){return[...this.P.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.P.get(e.href)}getIntegrityForCacheKey(t){return this.K.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let N;const j=()=>(N||(N=new x),N);class P extends h{constructor(t,e){super(({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some(t=>t.test(s))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}},t.strategy)}}t.NavigationRoute=class extends h{constructor(t,{allowlist:e=[/./],denylist:s=[]}={}){super(t=>this.W(t),t),this.M=e,this.S=s}W({url:t,request:e}){if(e&&"navigate"!==e.mode)return!1;const s=t.pathname+t.search;for(const t of this.S)if(t.test(s))return!1;return!!this.M.some(t=>t.test(s))}},t.cleanupOutdatedCaches=function(){self.addEventListener("activate",t=>{const e=o();t.waitUntil((async(t,e="-precache-")=>{const s=(await self.caches.keys()).filter(s=>s.includes(e)&&s.includes(self.registration.scope)&&s!==t);return await Promise.all(s.map(t=>self.caches.delete(t))),s})(e).then(t=>{}))})},t.createHandlerBoundToURL=function(t){return j().createHandlerBoundToURL(t)},t.precacheAndRoute=function(t,e){!function(t){j().precache(t)}(t),function(t){const e=j();d(new P(e,t))}(e)},t.registerRoute=d,t.setCacheNameDetails=function(t){r(t)}});
|
|
1
|
+
define(["exports"],function(t){"use strict";try{self["workbox:core:7.4.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}const n={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},i=t=>[n.prefix,t,n.suffix].filter(t=>t&&t.length>0).join("-"),r=t=>{(t=>{for(const e of Object.keys(n))t(e)})(e=>{"string"==typeof t[e]&&(n[e]=t[e])})},o=t=>t||i(n.precache),c=t=>t||i(n.runtime);try{self["workbox:routing:7.4.0"]&&_()}catch(t){}const a=t=>t&&"object"==typeof t?t:{handle:t};class h{constructor(t,e,s="GET"){this.handler=a(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=a(t)}}class u extends h{constructor(t,e,s){super(({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)},e,s)}}class l{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)})}addCacheListener(){self.addEventListener("message",t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map(e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})}));t.waitUntil(s),t.ports&&t.ports[0]&&s.then(()=>t.ports[0].postMessage(!0))}})}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const c=t.method;if(!o&&this.i.has(c)&&(o=this.i.get(c)),!o)return;let a;try{a=o.handle({url:s,request:t,event:e,params:i})}catch(t){a=Promise.reject(t)}const h=r&&r.catchHandler;return a instanceof Promise&&(this.o||h)&&(a=a.catch(async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n})),a}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,a(t))}setCatchHandler(t){this.o=a(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let f;const w=()=>(f||(f=new l,f.addFetchListener(),f.addCacheListener()),f);function d(t,e,n){let i;if("string"==typeof t){const s=new URL(t,location.href);i=new h(({url:t})=>t.href===s.href,e,n)}else if(t instanceof RegExp)i=new u(t,e,n);else if("function"==typeof t)i=new h(t,e,n);else{if(!(t instanceof h))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});i=t}return w().registerRoute(i),i}function p(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.4.0"]&&_()}catch(t){}function y(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class g{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class R{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let m;async function v(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=function(){if(void 0===m){const t=new Response("");if("body"in t)try{new Response(t.body),m=!0}catch(t){m=!1}m=!1}return m}()?i.body:await i.blob();return new Response(o,r)}function q(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class U{constructor(){this.promise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}}const b=new Set;try{self["workbox:strategies:7.4.0"]&&_()}catch(t){}function L(t){return"string"==typeof t?new Request(t):t}class C{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new U,this.R=[],this.m=[...t.plugins],this.v=new Map;for(const t of this.m)this.v.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=L(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=L(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=L(t);var i;await(i=0,new Promise(t=>setTimeout(t,i)));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const c=await this.q(e);if(!c)return!1;const{cacheName:a,matchOptions:h}=this.l,u=await self.caches.open(a),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=q(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===q(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?c.clone():c)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of b)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:a,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=L(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.v.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.R.push(t),t}async doneWaiting(){for(;this.R.length;){const t=this.R.splice(0),e=(await Promise.allSettled(t)).find(t=>"rejected"===t.status);if(e)throw e.reason}}destroy(){this.p.resolve(null)}async q(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class E{constructor(t={}){this.cacheName=c(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new C(this,{event:e,request:s,params:n}),r=this.U(i,s,e);return[r,this.L(r,i,s,e)]}async U(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this._(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async L(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class O extends E{constructor(t={}){t.cacheName=o(t.cacheName),super(t),this.C=!1!==t.fallbackToNetwork,this.plugins.push(O.copyRedirectedCacheableResponsesPlugin)}async _(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.O(t,e):await this.N(t,e))}async N(t,e){let n;const i=e.params||{};if(!this.C)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.j(),await e.cachePut(t,n.clone()))}return n}async O(t,e){this.j();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}j(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==O.copyRedirectedCacheableResponsesPlugin&&(n===O.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(O.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}O.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},O.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await v(t):t};class x{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.P=new Map,this.k=new Map,this.K=new Map,this.l=new O({cacheName:o(t),plugins:[...e,new R({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.T||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.T=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=y(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.P.has(i)&&this.P.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.P.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.K.has(t)&&this.K.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.K.set(t,n.integrity)}if(this.P.set(i,t),this.k.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return p(t,async()=>{const e=new g;this.strategy.plugins.push(e);for(const[e,s]of this.P){const n=this.K.get(s),i=this.k.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}})}activate(t){return p(t,async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.P.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}})}getURLsToCacheKeys(){return this.P}getCachedURLs(){return[...this.P.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.P.get(e.href)}getIntegrityForCacheKey(t){return this.K.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let N;const j=()=>(N||(N=new x),N);class P extends h{constructor(t,e){super(({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some(t=>t.test(s))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}},t.strategy)}}t.NavigationRoute=class extends h{constructor(t,{allowlist:e=[/./],denylist:s=[]}={}){super(t=>this.W(t),t),this.M=e,this.S=s}W({url:t,request:e}){if(e&&"navigate"!==e.mode)return!1;const s=t.pathname+t.search;for(const t of this.S)if(t.test(s))return!1;return!!this.M.some(t=>t.test(s))}},t.cleanupOutdatedCaches=function(){self.addEventListener("activate",t=>{const e=o();t.waitUntil((async(t,e="-precache-")=>{const s=(await self.caches.keys()).filter(s=>s.includes(e)&&s.includes(self.registration.scope)&&s!==t);return await Promise.all(s.map(t=>self.caches.delete(t))),s})(e).then(t=>{}))})},t.clientsClaim=function(){self.addEventListener("activate",()=>self.clients.claim())},t.createHandlerBoundToURL=function(t){return j().createHandlerBoundToURL(t)},t.precacheAndRoute=function(t,e){!function(t){j().precache(t)}(t),function(t){const e=j();d(new P(e,t))}(e)},t.registerRoute=d,t.setCacheNameDetails=function(t){r(t)}});
|
package/dist/server/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { FastifyInstance, FastifyReply, FastifyRequest } from 'fastify';
|
|
2
|
-
import type { AuthLoginRequest, AutomationsCreateRequest, AutomationsImportRequest, AutomationsParamsGeofenceRequest, AutomationsParamsRequest, AutomationsParamsWebhookRequest, AutomationsPatchRequest } from '../types/index.js';
|
|
2
|
+
import type { AuthLoginRequest, AutomationsCreateRequest, AutomationsImportRequest, AutomationsParamsGeofenceRequest, AutomationsParamsRequest, AutomationsParamsWebhookRequest, AutomationsPatchRequest, AutomationsStoreParamsRequest, AutomationsStoreQueryRequest } from '../types/index.js';
|
|
3
3
|
export declare class AutomationsController {
|
|
4
4
|
private service;
|
|
5
5
|
constructor(_app: FastifyInstance);
|
|
@@ -10,6 +10,8 @@ export declare class AutomationsController {
|
|
|
10
10
|
delete(req: FastifyRequest<AuthLoginRequest & AutomationsParamsRequest>, reply: FastifyReply): Promise<FastifyReply>;
|
|
11
11
|
importBlueprint(req: FastifyRequest<AuthLoginRequest & AutomationsImportRequest>, reply: FastifyReply): Promise<FastifyReply>;
|
|
12
12
|
exportBlueprint(req: FastifyRequest<AuthLoginRequest & AutomationsParamsRequest>, reply: FastifyReply): FastifyReply;
|
|
13
|
+
storeList(req: FastifyRequest<AuthLoginRequest & AutomationsStoreQueryRequest>, reply: FastifyReply): Promise<FastifyReply>;
|
|
14
|
+
storeItem(req: FastifyRequest<AuthLoginRequest & AutomationsStoreParamsRequest>, reply: FastifyReply): Promise<FastifyReply>;
|
|
13
15
|
trigger(req: FastifyRequest<AuthLoginRequest & AutomationsParamsRequest>, reply: FastifyReply): Promise<FastifyReply>;
|
|
14
16
|
pluginMethods(_req: FastifyRequest, reply: FastifyReply): FastifyReply;
|
|
15
17
|
webhook(req: FastifyRequest<AuthLoginRequest & AutomationsParamsRequest & AutomationsParamsWebhookRequest>, reply: FastifyReply): Promise<FastifyReply>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { container } from 'tsyringe';
|
|
2
2
|
import { getPluginMethodsForClient } from '../../automations/pluginMethodRegistry.js';
|
|
3
|
+
import { getAutomationBlueprint, getAutomationCatalog, invalidateAutomationRegistry } from '../../utils/automation-registry/index.js';
|
|
3
4
|
import { AutomationsService } from '../services/automations.service.js';
|
|
4
5
|
function isAdminRequest(req) {
|
|
5
6
|
const role = req.locals.user?.role;
|
|
@@ -11,6 +12,7 @@ function maskAutomation(automation) {
|
|
|
11
12
|
nodes: automation.nodes.map((node) => {
|
|
12
13
|
const data = { ...node.data };
|
|
13
14
|
delete data.webhookSecret;
|
|
15
|
+
delete data.geofenceId;
|
|
14
16
|
delete data.geofenceUserSecrets;
|
|
15
17
|
return { ...node, data };
|
|
16
18
|
}),
|
|
@@ -91,12 +93,35 @@ export class AutomationsController {
|
|
|
91
93
|
if (!blueprint) {
|
|
92
94
|
return reply.code(404).send({ statusCode: 404, message: 'Automation not found' });
|
|
93
95
|
}
|
|
94
|
-
|
|
96
|
+
// a blueprint is shareable, so secrets are always stripped regardless of role
|
|
97
|
+
return reply.code(200).send(maskAutomation(blueprint));
|
|
95
98
|
}
|
|
96
99
|
catch (error) {
|
|
97
100
|
return reply.code(500).send({ statusCode: 500, message: error.message });
|
|
98
101
|
}
|
|
99
102
|
}
|
|
103
|
+
async storeList(req, reply) {
|
|
104
|
+
if (req.query.refresh) {
|
|
105
|
+
invalidateAutomationRegistry();
|
|
106
|
+
}
|
|
107
|
+
const catalog = await getAutomationCatalog();
|
|
108
|
+
const result = Object.entries(catalog).map(([id, entry]) => ({ id, ...entry }));
|
|
109
|
+
return reply.code(200).send(result);
|
|
110
|
+
}
|
|
111
|
+
async storeItem(req, reply) {
|
|
112
|
+
const catalog = await getAutomationCatalog();
|
|
113
|
+
const entry = catalog[req.params.id];
|
|
114
|
+
if (!entry) {
|
|
115
|
+
return reply.code(404).send({ statusCode: 404, message: 'Automation not found in store' });
|
|
116
|
+
}
|
|
117
|
+
// the catalog stores the blueprint path as `blueprints/<file>`; only the basename is fetched
|
|
118
|
+
const file = entry.blueprint.split('/').pop() ?? '';
|
|
119
|
+
const blueprint = await getAutomationBlueprint(file);
|
|
120
|
+
if (!blueprint) {
|
|
121
|
+
return reply.code(404).send({ statusCode: 404, message: 'Blueprint not found in store' });
|
|
122
|
+
}
|
|
123
|
+
return reply.code(200).send({ id: req.params.id, ...entry, blueprint });
|
|
124
|
+
}
|
|
100
125
|
async trigger(req, reply) {
|
|
101
126
|
try {
|
|
102
127
|
const engine = container.resolve('automationEngine');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automations.controller.js","sourceRoot":"","sources":["../../../../../src/api/controllers/automations.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"automations.controller.js","sourceRoot":"","sources":["../../../../../src/api/controllers/automations.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,10 @@ export declare class PluginsController {
|
|
|
38
38
|
installProgress(_req: FastifyRequest<AuthLoginRequest & PaginationRequest>, reply: FastifyReply): Promise<FastifyReply | PluginsProgress[]>;
|
|
39
39
|
uninstallByName(req: FastifyRequest<AuthLoginRequest & PluginsParamsNameRequest & PluginsParamsRemoveRequest>, reply: FastifyReply): Promise<FastifyReply>;
|
|
40
40
|
uninstallAll(req: FastifyRequest<AuthLoginRequest & PluginsParamsRemoveRequest>, reply: FastifyReply): Promise<FastifyReply>;
|
|
41
|
+
private readLogoFromPath;
|
|
42
|
+
private readLogoFromTarball;
|
|
43
|
+
private enrichPlugin;
|
|
44
|
+
private autoDisableBlockedPlugin;
|
|
41
45
|
private readPluginDoc;
|
|
42
46
|
private getPluginFromNpm;
|
|
43
47
|
private searchNpmRegistrySingle;
|