@camera.ui/server 0.0.114 → 0.0.117
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-CZtDF9in.js → 404-Boj4Vl-R.js} +1 -1
- package/dist/interface/assets/{About-BzuuHdW1.js → About-C555n8hm.js} +1 -1
- package/dist/interface/assets/{Adminpanel-uj7eTmlN.js → Adminpanel-CzhTcMyI.js} +1 -1
- package/dist/interface/assets/Automation-c-WoDz5p.js +2 -0
- package/dist/interface/assets/{AutomationImport-CR4Vsxkb.js → AutomationImport-TTsCdeBi.js} +2 -2
- package/dist/interface/assets/{AutomationStore-BcMX7WbG.js → AutomationStore-Dfv66tKr.js} +2 -2
- package/dist/interface/assets/{AutomationStoreDetail-D6Ugj8ba.js → AutomationStoreDetail-D6Kxd8qb.js} +2 -2
- package/dist/interface/assets/{Automations-DBACrYHy.js → Automations-B-Vx8ES0.js} +2 -2
- package/dist/interface/assets/{Camera-Cf4QZbsx.js → Camera-D9lOlctO.js} +2 -2
- package/dist/interface/assets/{CameraConsole-uD4aWou8.js → CameraConsole-D7INO7No.js} +1 -1
- package/dist/interface/assets/{Cameras-DbBU5mou.js → Cameras-CoS5FGgt.js} +2 -2
- package/dist/interface/assets/{Camview-CoHrXLHW.js → Camview-D9dWFP3P.js} +1 -1
- package/dist/interface/assets/{Config-B9jI0lTQ.js → Config-Bt-dYeu3.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-D4hJLWmj.js → ConfigActionCameraControl-BG6SX9R7.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-DOUAx4lh.js → ConfigActionDelay-aDgo-kGM.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-BGz4r_Nr.js → ConfigActionHttp-CO5QD14x.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-BhO3ekJT.js → ConfigActionImageInput-DapP_uBr.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-B5cCmBXr.js → ConfigActionNotification-BTO9Mcqc.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-P0WY0DlF.js → ConfigActionOutput-CXJ03zBN.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-B7YAbFlf.js → ConfigActionPlugin-BddeoS5Q.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-D_Dt1qtt.js → ConfigActionSensor-Bs4CS6z9.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-ClyCQuB3.js → ConfigActionSnapshot-Ba5eeeDx.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-B2BoiQPb.js → ConfigActionVariable-CtDsvCYd.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-Bhd2FYyz.js → ConfigConditionIfElse-4vRtS2gU.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-x0M0kHwL.js → ConfigConditionSensorState-DXsn0AoB.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-CC0w-Hvy.js → ConfigConditionSwitch-BAAlXCNL.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-lhWiIy2x.js → ConfigConditionTime-CbGe7r2f.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-DWjlecON.js → ConfigTriggerDetection-CUvVQzWC.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-CTqptMUN.js → ConfigTriggerGeofence-C8JI5HfV.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerManual-ChsUsNCK.js → ConfigTriggerManual-CHe56Uwq.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-CE47WiIV.js → ConfigTriggerSchedule-CfYWEMEa.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-DuCtavZo.js → ConfigTriggerSensor-CxfydqlA.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-D1oGAhLn.js → ConfigTriggerSystem-CKY5ikOU.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-D3cHvW8H.js → ConfigTriggerWebhook-B38CUm9k.js} +1 -1
- package/dist/interface/assets/Console-iQYK1wv3.js +1 -0
- package/dist/interface/assets/{CuiActionButton-Bl7gqhIV.js → CuiActionButton-_24B3o_r.js} +1 -1
- package/dist/interface/assets/{CuiAvatar-of_eVQsv.js → CuiAvatar-Dq7tZWI5.js} +1 -1
- package/dist/interface/assets/{CuiBBoxPlayground-CIU5kteO.js → CuiBBoxPlayground-wkKhVNXF.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-BCwkNHr0.js +1 -0
- package/dist/interface/assets/{CuiBottomSheet-B7aQ7GCw.js → CuiBottomSheet-CmcHyY52.js} +1 -1
- package/dist/interface/assets/CuiCameraCard-Cjltc6jX.js +1 -0
- package/dist/interface/assets/{CuiCameraPipCard-KUBxGPoU.js → CuiCameraPipCard-Fqb-8bT0.js} +1 -1
- package/dist/interface/assets/CuiCameraRecordings-8rROz71S.js +1 -0
- package/dist/interface/assets/{CuiCameraShares-BCMYN11A.js → CuiCameraShares-CVqgvvb9.js} +1 -1
- package/dist/interface/assets/{CuiCameraSnapshot-DTtvEMy1.js → CuiCameraSnapshot-CDqd-Ncv.js} +1 -1
- package/dist/interface/assets/{CuiCameraTable-B7g53tPM.js → CuiCameraTable-CZI750xd.js} +1 -1
- package/dist/interface/assets/CuiDataTable-N4GSbqxH.js +1 -0
- package/dist/interface/assets/CuiDataTable-W68cyoLf.css +1 -0
- package/dist/interface/assets/{CuiFloatingButton-B5YMdr0X.js → CuiFloatingButton-PyVdoOUT.js} +1 -1
- package/dist/interface/assets/{CuiImage-B97QDAl7.js → CuiImage-kthY6BIz.js} +1 -1
- package/dist/interface/assets/{CuiMenu-Ds6GufVn.js → CuiMenu-9X-MfyCk.js} +1 -1
- package/dist/interface/assets/{CuiPluginCard-D1SylQbM.js → CuiPluginCard-CN3TW6AC.js} +2 -2
- package/dist/interface/assets/CuiPluginCategoryChip-CwNmRXlc.js +1 -0
- package/dist/interface/assets/{CuiPluginOAuthButton-X8ZGFPwW.js → CuiPluginOAuthButton-BBHNQ3Jp.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-YhfqGTyR.js → CuiPluginTrustBadge-DX-P6_uN.js} +1 -1
- package/dist/interface/assets/{CuiQRCode-D_31ri5b.js → CuiQRCode-C6O_MBni.js} +1 -1
- package/dist/interface/assets/{CuiRecordingsGrid-CzMzhUXb.js → CuiRecordingsGrid-CwKCU5_u.js} +1 -1
- package/dist/interface/assets/{CuiSchema-CfqOJmDH.js → CuiSchema-VI2Luf-k.js} +1 -1
- package/dist/interface/assets/{CuiTopNavbarItem-Q7M4nMw5.js → CuiTopNavbarItem-Ds70WyHx.js} +1 -1
- package/dist/interface/assets/{CuiTopbarSlot-ac4GLLbf.js → CuiTopbarSlot-B9Et-Pj7.js} +1 -1
- package/dist/interface/assets/{Faces-IVmqcGuF.js → Faces-lzakFq5o.js} +1 -1
- package/dist/interface/assets/{FirstSteps-Boec1bzd.js → FirstSteps-Bqmgm_iz.js} +1 -1
- package/dist/interface/assets/{Instances-kmkRiBrV.js → Instances-qk8oD08W.js} +1 -1
- package/dist/interface/assets/{Logs-DzR8mmLu.js → Logs-72k5RAn7.js} +1 -1
- package/dist/interface/assets/{Menu-Ct3W72Nu.js → Menu-1_PvQcZH.js} +1 -1
- package/dist/interface/assets/{OAuthDeviceFlow-Cp9uZWm1.js → OAuthDeviceFlow-DuZPGhPb.js} +1 -1
- package/dist/interface/assets/Plugin-CoIr19GV.js +1 -0
- package/dist/interface/assets/Plugin-DHhrlRqP.css +1 -0
- package/dist/interface/assets/{PluginConsole-BdbmROpF.js → PluginConsole-CnqDVu4K.js} +1 -1
- package/dist/interface/assets/PluginDetail-BSao1Bk3.js +2 -0
- package/dist/interface/assets/PluginDetail-L1Vtmr5x.css +1 -0
- package/dist/interface/assets/{PluginSchema-CWcq67pj.js → PluginSchema-BNB_PpKf.js} +1 -1
- package/dist/interface/assets/PluginSearch-Cq0r9Usy.js +2 -0
- package/dist/interface/assets/{PluginSearch-XjGr5qdW.css → PluginSearch-NuKgD1r3.css} +1 -1
- package/dist/interface/assets/PluginSearch-ZRpBJ3RH.js +1 -0
- package/dist/interface/assets/{Plugins-DMLQY_6J.js → Plugins-Bm0cyXcG.js} +1 -1
- package/dist/interface/assets/Recordings-BArCkOPF.js +1 -0
- package/dist/interface/assets/{Settings-BZDfWnB8.js → Settings-CcwljkEU.js} +1 -1
- package/dist/interface/assets/SettingsAccount-UGedhV9S.js +1 -0
- package/dist/interface/assets/{SettingsAccount-DKHO4mDj.js → SettingsAccount-g0Xg9CEA.js} +1 -1
- package/dist/interface/assets/{SettingsAppearance-V5aeQ9c8.js → SettingsAppearance-D7vpw4Pf.js} +1 -1
- package/dist/interface/assets/SettingsAppearance-dUmIIO1_.js +1 -0
- package/dist/interface/assets/SettingsBackup-DDMNMyGv.js +1 -0
- package/dist/interface/assets/{SettingsNotifications-BZ1IXj0a.js → SettingsNotifications-DHXDTw47.js} +1 -1
- package/dist/interface/assets/{SettingsRecordings-BsJ9z-RE.js → SettingsRecordings-B8pVTT97.js} +1 -1
- package/dist/interface/assets/{SettingsRemote-Bf8bqXYs.js → SettingsRemote-Cm72h9O2.js} +1 -1
- package/dist/interface/assets/{SettingsSystem-obAYrm8J.js → SettingsSystem-IU5zzJ8r.js} +2 -2
- package/dist/interface/assets/{SettingsUsers-Ciu1ry18.js → SettingsUsers-Wgu60ci9.js} +1 -1
- package/dist/interface/assets/{Terminal-CD9he5xW.js → Terminal-D1CRBDlt.js} +1 -1
- package/dist/interface/assets/{VariableInput-CFs-kzqd.js → VariableInput-D5330Mfo.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-PEzupqiE.js → VariableSuggestions-BYRGZZhC.js} +1 -1
- package/dist/interface/assets/VersionsHandler-hDdaLt6c.js +7 -0
- package/dist/interface/assets/Workers-De7GyYLY.js +2 -0
- package/dist/interface/assets/{Workers-DCx1wSq5.css → Workers-E6LM_yAl.css} +1 -1
- package/dist/interface/assets/api-CEmKJS_k.js +2 -0
- package/dist/interface/assets/{api-CbBOEbKQ.js → api-CniTJ7zF.js} +1 -1
- package/dist/interface/assets/api-D7tGlI-z.css +2 -0
- package/dist/interface/assets/{auth-cdPNNpNC.js → auth-XrGrvKJw.js} +1 -1
- package/dist/interface/assets/{automations-E7vwN3kw.js → automations-BTNkOZVN.js} +1 -1
- package/dist/interface/assets/{automations-C309DNNg.js → automations-DBL-AVqV.js} +1 -1
- package/dist/interface/assets/backup-DCACCZlp.js +1 -0
- package/dist/interface/assets/{cameras-CvJDLEZ3.js → cameras-BU1ZCguU.js} +1 -1
- package/dist/interface/assets/{cameras.schema-Clwro_L9.js → cameras.schema-xccbs98C.js} +1 -1
- package/dist/interface/assets/cloudHandoff-l8EehWAq.js +1 -0
- package/dist/interface/assets/{lightbulb-outline-B0CFho4y.js → cog-outline-DUNHSyxs.js} +1 -1
- package/dist/interface/assets/{deviceId-OXLTtG-_.js → deviceId-BDIV3wVa.js} +1 -1
- package/dist/interface/assets/download-D5N3Bjsy.js +1 -0
- package/dist/interface/assets/{hasPermission-P1TgpAur.js → hasPermission-Dt66r7m6.js} +1 -1
- package/dist/interface/assets/{instances-DwnEOXk1.js → instances-Cm2uvc3I.js} +1 -1
- package/dist/interface/assets/lightbulb-outline-CSHur8g1.js +1 -0
- package/dist/interface/assets/{locale-BWvy9Nlz.js → locale-DHFGj38b.js} +1 -1
- package/dist/interface/assets/main-BpXAVhDw.js +3 -0
- package/dist/interface/assets/{main-DudyqPaR.css → main-DYLy_5Pn.css} +1 -1
- package/dist/interface/assets/nodeDefinitions-BvHN6Rgq.js +1 -0
- package/dist/interface/assets/{notifications-DHmx6O_s.js → notifications-CcPAq-AU.js} +1 -1
- package/dist/interface/assets/{plugins-NVAodP6s.js → plugins-Byvz--5u.js} +1 -1
- package/dist/interface/assets/round-restart-alt-BhSxsPhN.css +1 -0
- package/dist/interface/assets/{round-restart-alt-c8MQjhLh.js → round-restart-alt-wY5ZWF_I.js} +1 -1
- package/dist/interface/assets/router-BI5yR4wx.js +2 -0
- package/dist/interface/assets/{router-BUTKN1yM.css → router-qrIK2v9X.css} +1 -1
- package/dist/interface/assets/{routerState-dQtObsFs.js → routerState-1OSE3RrK.js} +1 -1
- package/dist/interface/assets/{server-CRxodRik.js → server-BZ6moxcL.js} +1 -1
- package/dist/interface/assets/{shares-4w6GDwjp.js → shares-Dnb9ln4i.js} +1 -1
- package/dist/interface/assets/{theme-DhaXe7yA.js → theme-CMPHpEel.js} +1 -1
- package/dist/interface/assets/{types-6RvFwckU.js → types-CxqXp8-9.js} +1 -1
- package/dist/interface/assets/types-Dhfpp18Q.js +1 -0
- package/dist/interface/assets/{ui-DrzKhUXW.js → ui-DoqHmuEp.js} +1 -1
- package/dist/interface/assets/{useBiometricCredentials-BGRyKe48.js → useBiometricCredentials-D0zMU6nI.js} +1 -1
- package/dist/interface/assets/{useCameraOptions-CO1HD_gL.js → useCameraOptions-ICvT3348.js} +1 -1
- package/dist/interface/assets/{useCuiCameraDrawer-DnN9lwiy.js → useCuiCameraDrawer-Cz6XoSl4.js} +1 -1
- package/dist/interface/assets/{useCuiDialog-DHktK-mZ.js → useCuiDialog-D3TnoSLA.js} +1 -1
- package/dist/interface/assets/{useFileDownload-Cp1oH80I.js → useFileDownload-s0dzBJ-h.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-OnTDnkPr.js → useLogsSocket-GhBHm7PL.js} +1 -1
- package/dist/interface/assets/{useSharedComposables-gpJ--qZh.js → useSharedComposables-BwzJuqID.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-N--czepD.js → useStreamStatus-DffcpWzm.js} +1 -1
- package/dist/interface/assets/{useUserOptions-CPkl1O0A.js → useUserOptions-Cvb_O9Oh.js} +1 -1
- package/dist/interface/assets/{users.schema-BIL9DqRo.js → users.schema-Csh8aGMQ.js} +1 -1
- package/dist/interface/assets/{vendor-cameraui-DgSMexWY.js → vendor-cameraui-DQVBM-Sz.js} +38 -38
- package/dist/interface/assets/{vendor-core-BKHiXSX7.js → vendor-core-C5n49w0D.js} +1 -1
- package/dist/interface/assets/{vendor-primevue-7iEzPOvf.js → vendor-primevue-CCUVk9_F.js} +1 -1
- package/dist/interface/assets/{view-grid-B0KB2pRf.js → view-grid-CK2x8Wqf.js} +1 -1
- package/dist/interface/index.html +46 -45
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +3 -3
- package/dist/server/requirements.txt +1 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/frames.py +3 -1
- package/dist/server/src/api/controllers/backup.controller.d.ts +7 -1
- package/dist/server/src/api/controllers/backup.controller.js +65 -1
- package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +18 -0
- package/dist/server/src/api/routes/backup.routes.js +54 -1
- package/dist/server/src/api/routes/backup.routes.js.map +1 -1
- package/dist/server/src/api/schemas/backup.schema.d.ts +28 -25
- package/dist/server/src/api/schemas/backup.schema.js +23 -60
- package/dist/server/src/api/schemas/backup.schema.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +8 -0
- package/dist/server/src/api/schemas/cameras.schema.js +2 -0
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/services/backup.service.d.ts +1 -1
- package/dist/server/src/api/services/backup.service.js +2 -1
- package/dist/server/src/api/services/backup.service.js.map +1 -1
- package/dist/server/src/api/services/backupScheduler.service.d.ts +31 -0
- package/dist/server/src/api/services/backupScheduler.service.js +203 -0
- package/dist/server/src/api/services/backupScheduler.service.js.map +1 -0
- package/dist/server/src/api/types/index.d.ts +7 -1
- package/dist/server/src/api/websocket/nsp/notifications.js +3 -3
- package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-coordinator.d.ts +13 -1
- package/dist/server/src/camera/decoder/detection-coordinator.js +242 -242
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
- package/dist/server/src/camera/decoder/event-manager.js +41 -18
- package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
- package/dist/server/src/camera/decoder/frame-scaler.d.ts +1 -0
- package/dist/server/src/camera/decoder/frame-scaler.js +2 -2
- package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
- package/dist/server/src/camera/decoder/frame-source.js +2 -1
- package/dist/server/src/camera/decoder/frame-source.js.map +1 -1
- package/dist/server/src/camera/decoder/snapshot-source.d.ts +49 -0
- package/dist/server/src/camera/decoder/snapshot-source.js +279 -0
- package/dist/server/src/camera/decoder/snapshot-source.js.map +1 -0
- package/dist/server/src/camera/decoder/worker.d.ts +1 -0
- package/dist/server/src/camera/decoder/worker.js +24 -2
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/dist/server/src/main.d.ts +1 -0
- package/dist/server/src/main.js +5 -0
- package/dist/server/src/main.js.map +1 -1
- package/dist/server/src/manager/downloadManager.js +2 -2
- package/dist/server/src/manager/downloadManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/child.py +11 -0
- package/dist/server/src/plugins/runtime/python/namespaces.py +4 -0
- package/dist/server/src/plugins/runtime/python/proxy/download_manager.py +12 -2
- package/dist/server/src/plugins/runtime/python/proxy/file_serve.py +49 -0
- package/dist/server/src/plugins/worker.js +9 -3
- package/dist/server/src/plugins/worker.js.map +1 -1
- package/dist/server/src/rpc/server.js +2 -0
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/workers/agent.js +4 -4
- package/dist/server/src/workers/agent.js.map +1 -1
- package/dist/server/src/workers/capabilities/plugin-host.js +2 -2
- package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -1
- package/package.json +3 -3
- package/dist/interface/assets/Automation-D0ps_z9e.js +0 -2
- package/dist/interface/assets/Console-DrDqDUtO.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-DKUg_g5x.js +0 -1
- package/dist/interface/assets/CuiCameraCard-IyJNZMGs.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-iWAFGo8e.js +0 -1
- package/dist/interface/assets/CuiDataTable-DWuXg9Zg.css +0 -1
- package/dist/interface/assets/CuiDataTable-saRt0sBc.js +0 -1
- package/dist/interface/assets/CuiPluginCategoryChip-rfdhCEi-.js +0 -1
- package/dist/interface/assets/Plugin-CeLrucXT.js +0 -1
- package/dist/interface/assets/Plugin-Yv0ZmTNZ.css +0 -1
- package/dist/interface/assets/PluginDetail-DKywYzmS.js +0 -2
- package/dist/interface/assets/PluginDetail-DbYxVe3g.css +0 -1
- package/dist/interface/assets/PluginSearch-BC1L0-VN.js +0 -1
- package/dist/interface/assets/PluginSearch-DCuLwE3v.js +0 -2
- package/dist/interface/assets/Recordings--XaVJZJi.js +0 -1
- package/dist/interface/assets/SettingsAccount-DFMOh1ci.js +0 -1
- package/dist/interface/assets/SettingsAppearance-DzG2tlwK.js +0 -1
- package/dist/interface/assets/SettingsBackup-CfOHDar8.js +0 -1
- package/dist/interface/assets/VersionsHandler-Dpo-L314.js +0 -7
- package/dist/interface/assets/Workers-DiIBLgfr.js +0 -2
- package/dist/interface/assets/api-aSYFKxo6.js +0 -2
- package/dist/interface/assets/api-vCJ1T8Ow.css +0 -2
- package/dist/interface/assets/backup-Co1bwdSv.js +0 -1
- package/dist/interface/assets/cloudHandoff-Bym-XqR1.js +0 -1
- package/dist/interface/assets/main-DiF8p_7h.js +0 -3
- package/dist/interface/assets/nodeDefinitions-Dvawtk76.js +0 -1
- package/dist/interface/assets/round-restart-alt-fCNtJi_k.css +0 -1
- package/dist/interface/assets/router-6GfEM8TO.js +0 -2
- package/dist/interface/assets/types-BXo-JDGR.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{At as e,Oi as t,Ri as n,V as r,W as i}from"./vendor-cameraui-DgSMexWY.js";import{A as a,C as o,D as s,F as c,L as l,P as u,T as d,m as f}from"./api-aSYFKxo6.js";import{$ as p,X as m,Y as h,dn as g,mn as _,mr as v,pr as y,un as b,ur as x,xr as S,zn as C}from"./vendor-DoIl6acN.js";import{d as w,l as T}from"./vendor-core-BKHiXSX7.js";import{t as ee}from"./hasPermission-P1TgpAur.js";import{t as E}from"./useCuiDialog-DHktK-mZ.js";var D={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function O(e,t){return C(),_(`svg`,D,[...t[0]||=[g(`path`,{fill:`currentColor`,d:`M20.916 9.564a1 1 0 0 0-.513-1.316L7.328 2.492c-.995-.438-2.22.051-2.645 1.042l-2.21 5.154a2 2 0 0 0 1.052 2.624L9.563 13.9L8.323 17H4v-3H2v8h2v-3h4.323c.823 0 1.552-.494 1.856-1.258l1.222-3.054l5.205 2.23a1 1 0 0 0 1.31-.517l.312-.71l1.701.68l2-5l-1.536-.613zm-4.434 5.126L4.313 9.475l2.208-5.152l12.162 5.354z`},null,-1)]])}var k=x({name:`bx-cctv`,render:O}),A={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function j(e,t){return C(),_(`svg`,A,[...t[0]||=[g(`path`,{fill:`currentColor`,d:`M20 3H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2m-5 5h-2V6h2zm4 0h-2V6h2zm1 5H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2m-5 5h-2v-2h2zm4 0h-2v-2h2z`},null,-1)]])}var M=x({name:`bxs-server`,render:j});async function N(e){return(await u.get(`/instances`,{signal:e})).data}async function P(e){return(await u.post(`/instances`,e)).data}async function F({id:e,data:t}){return(await u.put(`/instances/${e}`,t)).data}async function I(e){await u.delete(`/instances/${e}`)}async function L(e){return(await u.patch(`/instances/${e}/favorite`)).data}async function R(e){return(await u.post(`/instances/${e}/login`)).data}async function z(e,t){return(await u.get(`/instances/${e}/status`,{signal:t})).data}var B=class{_queryClient=p();toast=d();t=s.global.t;listQuery(){return o({queryKey:[`instances`],queryFn:({signal:e})=>N(e)})}statusQueries(e){return m({queries:b(()=>S(e).map(e=>({queryKey:[`instances`,e.id,`status`],queryFn:({signal:t})=>z(e.id,t),refetchInterval:15e3,retry:!1})))})}createMutation(){return h({mutationFn:P,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.added`),life:3e3})}})}updateMutation(){return h({mutationFn:F,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.updated`),life:3e3})}})}deleteMutation(){return h({mutationFn:async e=>{await I(e),await this._queryClient.cancelQueries({queryKey:[`instances`,e,`status`]}),this._queryClient.removeQueries({queryKey:[`instances`,e,`status`]})},onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.removed`),life:3e3})}})}toggleFavoriteMutation(){return h({mutationFn:L,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]})}})}loginMutation(){return h({mutationFn:R,onError:()=>{}})}},V=3e4,H=5e3,U=`__home__`,W=new Set([`localhost`,`127.0.0.1`,`::1`]),G=a(`Instances`);async function K(e,t){try{let n=AbortSignal.timeout(H),r=t?AbortSignal.any([n,t]):n,i=await fetch(`${e}/api/health`,{signal:r});return G.debug(`[probe]`,`${e} → ${i.ok?`OK`:`HTTP ${i.status}`}`),i.ok}catch(t){let n=t instanceof Error?t.message:String(t);return G.debug(`[probe]`,`${e} → FAIL`,n),!1}}function q(e){return{access:e.access_token,accessExpiresAt:e.access_token_expires_at,refresh:e.refresh_token,refreshExpiresAt:e.refresh_token_expires_at}}function te(e,t){return{_id:t?._id??``,username:t?.username??``,email:t?.email,role:t?.role??``,firstLogin:t?.firstLogin,avatar:t?.avatar,access_token:e.access,refresh_token:e.refresh??``,token_type:`Bearer`,access_token_expires_at:e.accessExpiresAt??0,refresh_token_expires_at:e.refreshExpiresAt??0,internalAddresses:[],externalAddresses:[]}}var J=w(`instances`,()=>{let a=f(),o=T(),u=d(),m=E(),h=p(),{t:g}=s.global,_=t(`instanceTokens`,{}),x=t(`activeInstanceId`,null),S=v(!1),C=v(null),w=v(0),D=0,O=v(null),k=v([]),A=n(`redirectInfo`,null,{serializer:{read:e=>e?JSON.parse(e):null,write:e=>JSON.stringify(e)}}),j=b(()=>x.value===null),M=b(()=>x.value===null?null:k.value.find(e=>e.id===x.value)?.url??null);async function z(){try{if(!ee(void 0,`admin`))return;let e=await N();k.value=e.instances,O.value=e.homeId,G.debug(`[fetch]`,`loaded ${e.instances.length} instances`,{homeId:e.homeId})}catch(e){G.warn(`[fetch]`,`failed`,e)}}let B=b(()=>{let e=O.value;return k.value.filter(t=>!(e&&t.remoteHomeId&&t.remoteHomeId===e)).map(e=>{let t=_.value[e.id];return{id:e.id,name:e.name,url:e.url,hasCredentials:!!e.credentials,favorite:e.favorite??!0,userData:t?.userData??null,lastConnectedAt:t?.lastConnectedAt??null,isHome:!1}})});function H(){let e=_.value[U],t=x.value===null?c().target.value?.endpoint.url??e?.url??window.location.origin:e?.url??window.location.origin;return{id:`home`,name:g(`navigation.home`),url:t,hasCredentials:!1,favorite:!1,userData:e?.userData??null,lastConnectedAt:e?.lastConnectedAt??null,isHome:!0}}let J=b(()=>{if(x.value!==null){let e=B.value.find(e=>e.id===x.value);if(e)return e}return H()}),Y=b(()=>B.value.filter(e=>e.favorite)),X=b(()=>Y.value.length>0||x.value!==null||A.value!==null);function Z(e){return k.value.find(t=>t.id===e)?.favorite??!0}async function ne(e){let{favorite:t}=await L(e),n=k.value.find(t=>t.id===e);n&&(n.favorite=t)}async function re(e){let t=await P(e);return k.value=[...k.value,t],t}async function ie(e){await I(e),k.value=k.value.filter(t=>t.id!==e),delete _.value[e]}async function ae(e,t){let n=await F({id:e,data:t}),r=k.value.findIndex(t=>t.id===e);r!==-1&&(k.value[r]=n)}async function oe(e,t){let n=k.value.find(t=>t.id===e);return n?K(n.url,t):!1}function Q(){let e=c().target.value;if(!e?.tokens.access){G.debug(`[save-tokens]`,`skipped — no live access token`);return}let t=x.value??U;_.value[t]={userData:te(e.tokens,a.user??void 0),lastConnectedAt:Date.now(),url:e.endpoint.url},G.debug(`[save-tokens]`,`slot=${t} url=${e.endpoint.url}`)}function se(){if(x.value===null){l.value=null,G.debug(`[restore-override]`,`no active instance — home target`);return}let e=_.value[x.value],t=e?.url??e?.userData?.internalAddresses?.[0]??e?.userData?.externalAddresses?.[0]??null;l.value=t,G.debug(`[restore-override]`,`activeId=${x.value} → ${t??`no cached url`}`)}async function ce(t){if(S.value){G.warn(`[switch]`,`ignored — another switch is already in progress`);return}let n=t===null?H():B.value.find(e=>e.id===t)??H();if(t!==null&&$(n.url)&&!await ue(n.name)){G.debug(`[switch]`,`URL handoff declined by user`);return}let s=++D;S.value=!0,C.value=n.name,G.debug(`[switch]`,`START targetId=${t??`home`} gen=${s}`),G.debug(`[switch]`,`target resolved — name="${n.name}" url=${n.url} hasCreds=${n.hasCredentials}`);try{if(t!==null){let e=await K(n.url);if(s!==D){G.debug(`[switch]`,`aborted after probe — newer gen=${D}`);return}if(!e){G.warn(`[switch]`,`target unreachable — ${n.url}`),u.add({severity:`warn`,detail:g(`instances.unreachable`,{name:n.name}),life:3e3});return}}let d=null;if(t!==null&&n.hasCredentials)try{d=await R(t),G.debug(`[switch]`,`backend relay login OK`)}catch(e){G.warn(`[switch]`,`backend relay login FAILED — will try cached tokens`,e)}if(s!==D){G.debug(`[switch]`,`aborted after relay-login — newer gen=${D}`);return}Q();let f=t??U,p=d?q(d):le(f);if(G.debug(`[switch]`,`tokens source: ${d?`fresh`:p?`cached`:`none`} (slot=${f})`),t!==null&&$(n.url)){G.debug(`[switch]`,`URL handoff required — leaving SPA`),await de(n,d);return}let m=c();if(m.reset(),G.debug(`[switch]`,`kernel RESET`),e(),r(),i(),h.clear(),G.debug(`[switch]`,`vue-query cleared`),x.value=t,l.value=t===null?null:n.url,G.debug(`[switch]`,`activeId=${t} instanceOverride=${l.value??`null`}`),p&&d&&(_.value[f]={userData:d,lastConnectedAt:Date.now(),url:n.url},a.user={_id:d._id,username:d.username,role:d.role,firstLogin:d.firstLogin,avatar:d.avatar}),p){let e={url:n.url,mode:`direct-lan`,priority:0};G.debug(`[switch]`,`seedAndRetry → ${e.url}`),await Promise.race([m.seedAndRetry({endpoint:e,tokens:p},t??`home`),new Promise((e,t)=>setTimeout(()=>t(Error(`switch_timeout`)),V))])}else{G.warn(`[switch]`,`no tokens — boot + route to login`),m.boot(t??`home`),a.user=null,o.push(`/`);return}if(s!==D){G.debug(`[switch]`,`aborted after seedAndRetry — newer gen=${D}`);return}w.value++,G.debug(`[switch]`,`DONE gen=${s} → /home`),o.push(`/home`)}catch(e){(e instanceof Error?e.message:String(e))===`switch_timeout`?(G.error(`[switch]`,`TIMEOUT after ${V}ms`),u.add({severity:`error`,detail:g(`instances.switch_timeout`,{name:C.value??``}),life:3e3})):(G.error(`[switch]`,`failed`,e),u.add({severity:`error`,detail:e,life:3e3}))}finally{s===D&&(S.value=!1,C.value=null)}}function le(e){let t=_.value[e];return t?.userData?.access_token?q(t.userData):null}function $(e){try{let t=new URL(e),n=new URL(window.location.origin),r=n.protocol===`https:`&&t.protocol===`http:`,i=W.has(t.hostname)&&!W.has(n.hostname);return r||i}catch{return!1}}function ue(e){return G.warn(`[switch]`,`target "${e}" requires URL handoff — asking user confirmation`),new Promise(t=>{let n=!1,r=e=>{n||(n=!0,t(e))};m.openTextDialog({data:{title:g(`instances.insecure_handoff_title`),confirmText:g(`instances.insecure_handoff_confirm`),contentText:g(`instances.insecure_handoff_message`,{name:e}),confirmButtonProps:{severity:`danger`}},onConfirm:()=>r(!0),onCancel:()=>r(!1)})})}async function de(e,t){let n={_reset:!0,_sourceUrl:window.location.origin,_instanceName:e.name};t&&Object.assign(n,t);let r=encodeURIComponent(btoa(JSON.stringify(n))),i=`${e.url.split(`#`)[0]}#auth=${r}`;G.debug(`[url-handoff]`,`→ ${e.url} (with token=${t?`yes`:`no`})`),window.location.href=i}function fe(){_.value={},x.value=null,l.value=null,A.value=null,k.value=[],O.value=null,G.debug(`[reset]`,`store cleared`)}return{instances:B,activeInstance:J,activeId:x,activeUrl:M,isHomeActive:j,isMultiInstance:X,isSwitching:y(S),switchTargetName:y(C),switchKey:y(w),serverHomeId:O,redirectInfo:A,serverInstances:k,instanceTokens:_,favoriteInstances:Y,isFavorite:Z,toggleFavorite:ne,fetchInstances:z,addInstance:re,removeInstance:ie,updateInstance:ae,switchInstance:ce,probeInstance:oe,reset:fe,saveCurrentTokens:Q,restoreActiveOverride:se}});export{k as i,B as n,M as r,J as t};
|
|
1
|
+
import{At as e,K as t,N as n,Oi as r,Ri as i}from"./vendor-cameraui-DQVBM-Sz.js";import{A as a,C as o,D as s,F as c,L as l,P as u,T as d,m as f}from"./api-CEmKJS_k.js";import{$ as p,X as m,Y as h,dn as g,mn as _,mr as v,pr as y,un as b,ur as x,xr as S,zn as C}from"./vendor-DoIl6acN.js";import{d as w,l as T}from"./vendor-core-C5n49w0D.js";import{t as ee}from"./hasPermission-Dt66r7m6.js";import{t as E}from"./useCuiDialog-D3TnoSLA.js";var D={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function O(e,t){return C(),_(`svg`,D,[...t[0]||=[g(`path`,{fill:`currentColor`,d:`M20.916 9.564a1 1 0 0 0-.513-1.316L7.328 2.492c-.995-.438-2.22.051-2.645 1.042l-2.21 5.154a2 2 0 0 0 1.052 2.624L9.563 13.9L8.323 17H4v-3H2v8h2v-3h4.323c.823 0 1.552-.494 1.856-1.258l1.222-3.054l5.205 2.23a1 1 0 0 0 1.31-.517l.312-.71l1.701.68l2-5l-1.536-.613zm-4.434 5.126L4.313 9.475l2.208-5.152l12.162 5.354z`},null,-1)]])}var k=x({name:`bx-cctv`,render:O}),A={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function j(e,t){return C(),_(`svg`,A,[...t[0]||=[g(`path`,{fill:`currentColor`,d:`M20 3H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2m-5 5h-2V6h2zm4 0h-2V6h2zm1 5H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2m-5 5h-2v-2h2zm4 0h-2v-2h2z`},null,-1)]])}var M=x({name:`bxs-server`,render:j});async function N(e){return(await u.get(`/instances`,{signal:e})).data}async function P(e){return(await u.post(`/instances`,e)).data}async function F({id:e,data:t}){return(await u.put(`/instances/${e}`,t)).data}async function I(e){await u.delete(`/instances/${e}`)}async function L(e){return(await u.patch(`/instances/${e}/favorite`)).data}async function R(e){return(await u.post(`/instances/${e}/login`)).data}async function z(e,t){return(await u.get(`/instances/${e}/status`,{signal:t})).data}var B=class{_queryClient=p();toast=d();t=s.global.t;listQuery(){return o({queryKey:[`instances`],queryFn:({signal:e})=>N(e)})}statusQueries(e){return m({queries:b(()=>S(e).map(e=>({queryKey:[`instances`,e.id,`status`],queryFn:({signal:t})=>z(e.id,t),refetchInterval:15e3,retry:!1})))})}createMutation(){return h({mutationFn:P,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.added`),life:3e3})}})}updateMutation(){return h({mutationFn:F,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.updated`),life:3e3})}})}deleteMutation(){return h({mutationFn:async e=>{await I(e),await this._queryClient.cancelQueries({queryKey:[`instances`,e,`status`]}),this._queryClient.removeQueries({queryKey:[`instances`,e,`status`]})},onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.removed`),life:3e3})}})}toggleFavoriteMutation(){return h({mutationFn:L,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]})}})}loginMutation(){return h({mutationFn:R,onError:()=>{}})}},V=3e4,H=5e3,U=`__home__`,W=new Set([`localhost`,`127.0.0.1`,`::1`]),G=a(`Instances`);async function K(e,t){try{let n=AbortSignal.timeout(H),r=t?AbortSignal.any([n,t]):n,i=await fetch(`${e}/api/health`,{signal:r});return G.debug(`[probe]`,`${e} → ${i.ok?`OK`:`HTTP ${i.status}`}`),i.ok}catch(t){let n=t instanceof Error?t.message:String(t);return G.debug(`[probe]`,`${e} → FAIL`,n),!1}}function q(e){return{access:e.access_token,accessExpiresAt:e.access_token_expires_at,refresh:e.refresh_token,refreshExpiresAt:e.refresh_token_expires_at}}function te(e,t){return{_id:t?._id??``,username:t?.username??``,email:t?.email,role:t?.role??``,firstLogin:t?.firstLogin,avatar:t?.avatar,access_token:e.access,refresh_token:e.refresh??``,token_type:`Bearer`,access_token_expires_at:e.accessExpiresAt??0,refresh_token_expires_at:e.refreshExpiresAt??0,internalAddresses:[],externalAddresses:[]}}var J=w(`instances`,()=>{let a=f(),o=T(),u=d(),m=E(),h=p(),{t:g}=s.global,_=r(`instanceTokens`,{}),x=r(`activeInstanceId`,null),S=v(!1),C=v(null),w=v(0),D=0,O=v(null),k=v([]),A=i(`redirectInfo`,null,{serializer:{read:e=>e?JSON.parse(e):null,write:e=>JSON.stringify(e)}}),j=b(()=>x.value===null),M=b(()=>x.value===null?null:k.value.find(e=>e.id===x.value)?.url??null);async function z(){try{if(!ee(void 0,`admin`))return;let e=await N();k.value=e.instances,O.value=e.homeId,G.debug(`[fetch]`,`loaded ${e.instances.length} instances`,{homeId:e.homeId})}catch(e){G.warn(`[fetch]`,`failed`,e)}}let B=b(()=>{let e=O.value;return k.value.filter(t=>!(e&&t.remoteHomeId&&t.remoteHomeId===e)).map(e=>{let t=_.value[e.id];return{id:e.id,name:e.name,url:e.url,hasCredentials:!!e.credentials,favorite:e.favorite??!0,userData:t?.userData??null,lastConnectedAt:t?.lastConnectedAt??null,isHome:!1}})});function H(){let e=_.value[U],t=x.value===null?c().target.value?.endpoint.url??e?.url??window.location.origin:e?.url??window.location.origin;return{id:`home`,name:g(`navigation.home`),url:t,hasCredentials:!1,favorite:!1,userData:e?.userData??null,lastConnectedAt:e?.lastConnectedAt??null,isHome:!0}}let J=b(()=>{if(x.value!==null){let e=B.value.find(e=>e.id===x.value);if(e)return e}return H()}),Y=b(()=>B.value.filter(e=>e.favorite)),X=b(()=>Y.value.length>0||x.value!==null||A.value!==null);function Z(e){return k.value.find(t=>t.id===e)?.favorite??!0}async function ne(e){let{favorite:t}=await L(e),n=k.value.find(t=>t.id===e);n&&(n.favorite=t)}async function re(e){let t=await P(e);return k.value=[...k.value,t],t}async function ie(e){await I(e),k.value=k.value.filter(t=>t.id!==e),delete _.value[e]}async function ae(e,t){let n=await F({id:e,data:t}),r=k.value.findIndex(t=>t.id===e);r!==-1&&(k.value[r]=n)}async function oe(e,t){let n=k.value.find(t=>t.id===e);return n?K(n.url,t):!1}function Q(){let e=c().target.value;if(!e?.tokens.access){G.debug(`[save-tokens]`,`skipped — no live access token`);return}let t=x.value??U;_.value[t]={userData:te(e.tokens,a.user??void 0),lastConnectedAt:Date.now(),url:e.endpoint.url},G.debug(`[save-tokens]`,`slot=${t} url=${e.endpoint.url}`)}function se(){if(x.value===null){l.value=null,G.debug(`[restore-override]`,`no active instance — home target`);return}let e=_.value[x.value],t=e?.url??e?.userData?.internalAddresses?.[0]??e?.userData?.externalAddresses?.[0]??null;l.value=t,G.debug(`[restore-override]`,`activeId=${x.value} → ${t??`no cached url`}`)}async function ce(r){if(S.value){G.warn(`[switch]`,`ignored — another switch is already in progress`);return}let i=r===null?H():B.value.find(e=>e.id===r)??H();if(r!==null&&$(i.url)&&!await ue(i.name)){G.debug(`[switch]`,`URL handoff declined by user`);return}let s=++D;S.value=!0,C.value=i.name,G.debug(`[switch]`,`START targetId=${r??`home`} gen=${s}`),G.debug(`[switch]`,`target resolved — name="${i.name}" url=${i.url} hasCreds=${i.hasCredentials}`);try{if(r!==null){let e=await K(i.url);if(s!==D){G.debug(`[switch]`,`aborted after probe — newer gen=${D}`);return}if(!e){G.warn(`[switch]`,`target unreachable — ${i.url}`),u.add({severity:`warn`,detail:g(`instances.unreachable`,{name:i.name}),life:3e3});return}}let d=null;if(r!==null&&i.hasCredentials)try{d=await R(r),G.debug(`[switch]`,`backend relay login OK`)}catch(e){G.warn(`[switch]`,`backend relay login FAILED — will try cached tokens`,e)}if(s!==D){G.debug(`[switch]`,`aborted after relay-login — newer gen=${D}`);return}Q();let f=r??U,p=d?q(d):le(f);if(G.debug(`[switch]`,`tokens source: ${d?`fresh`:p?`cached`:`none`} (slot=${f})`),r!==null&&$(i.url)){G.debug(`[switch]`,`URL handoff required — leaving SPA`),await de(i,d);return}let m=c();if(m.reset(),G.debug(`[switch]`,`kernel RESET`),e(),t(),n(),h.clear(),G.debug(`[switch]`,`vue-query cleared`),x.value=r,l.value=r===null?null:i.url,G.debug(`[switch]`,`activeId=${r} instanceOverride=${l.value??`null`}`),p&&d&&(_.value[f]={userData:d,lastConnectedAt:Date.now(),url:i.url},a.user={_id:d._id,username:d.username,role:d.role,firstLogin:d.firstLogin,avatar:d.avatar}),p){let e={url:i.url,mode:`direct-lan`,priority:0};G.debug(`[switch]`,`seedAndRetry → ${e.url}`),await Promise.race([m.seedAndRetry({endpoint:e,tokens:p},r??`home`),new Promise((e,t)=>setTimeout(()=>t(Error(`switch_timeout`)),V))])}else{G.warn(`[switch]`,`no tokens — boot + route to login`),m.boot(r??`home`),a.user=null,o.push(`/`);return}if(s!==D){G.debug(`[switch]`,`aborted after seedAndRetry — newer gen=${D}`);return}w.value++,G.debug(`[switch]`,`DONE gen=${s} → /home`),o.push(`/home`)}catch(e){(e instanceof Error?e.message:String(e))===`switch_timeout`?(G.error(`[switch]`,`TIMEOUT after ${V}ms`),u.add({severity:`error`,detail:g(`instances.switch_timeout`,{name:C.value??``}),life:3e3})):(G.error(`[switch]`,`failed`,e),u.add({severity:`error`,detail:e,life:3e3}))}finally{s===D&&(S.value=!1,C.value=null)}}function le(e){let t=_.value[e];return t?.userData?.access_token?q(t.userData):null}function $(e){try{let t=new URL(e),n=new URL(window.location.origin),r=n.protocol===`https:`&&t.protocol===`http:`,i=W.has(t.hostname)&&!W.has(n.hostname);return r||i}catch{return!1}}function ue(e){return G.warn(`[switch]`,`target "${e}" requires URL handoff — asking user confirmation`),new Promise(t=>{let n=!1,r=e=>{n||(n=!0,t(e))};m.openTextDialog({data:{title:g(`instances.insecure_handoff_title`),confirmText:g(`instances.insecure_handoff_confirm`),contentText:g(`instances.insecure_handoff_message`,{name:e}),confirmButtonProps:{severity:`danger`}},onConfirm:()=>r(!0),onCancel:()=>r(!1)})})}async function de(e,t){let n={_reset:!0,_sourceUrl:window.location.origin,_instanceName:e.name};t&&Object.assign(n,t);let r=encodeURIComponent(btoa(JSON.stringify(n))),i=`${e.url.split(`#`)[0]}#auth=${r}`;G.debug(`[url-handoff]`,`→ ${e.url} (with token=${t?`yes`:`no`})`),window.location.href=i}function fe(){_.value={},x.value=null,l.value=null,A.value=null,k.value=[],O.value=null,G.debug(`[reset]`,`store cleared`)}return{instances:B,activeInstance:J,activeId:x,activeUrl:M,isHomeActive:j,isMultiInstance:X,isSwitching:y(S),switchTargetName:y(C),switchKey:y(w),serverHomeId:O,redirectInfo:A,serverInstances:k,instanceTokens:_,favoriteInstances:Y,isFavorite:Z,toggleFavorite:ne,fetchInstances:z,addInstance:re,removeInstance:ie,updateInstance:ae,switchInstance:ce,probeInstance:oe,reset:fe,saveCurrentTokens:Q,restoreActiveOverride:se}});export{k as i,B as n,M as r,J 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 2a7 7 0 0 1 7 7c0 2.38-1.19 4.47-3 5.74V17a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-2.26C6.19 13.47 5 11.38 5 9a7 7 0 0 1 7-7M9 21v-1h6v1a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1m3-17a5 5 0 0 0-5 5c0 2.05 1.23 3.81 3 4.58V16h4v-2.42c1.77-.77 3-2.53 3-4.58a5 5 0 0 0-5-5`},null,-1)]])}var o=n({name:`mdi-lightbulb-outline`,render:a});export{o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Oi as e}from"./vendor-cameraui-
|
|
1
|
+
import{Oi as e}from"./vendor-cameraui-DQVBM-Sz.js";import{D as t,E as n}from"./api-CEmKJS_k.js";import{$n as r,mr as i,v as a,y as o}from"./vendor-DoIl6acN.js";import{d as s}from"./vendor-core-C5n49w0D.js";import{t as c}from"./useElectron-mh8HQUAI.js";import{b as l}from"./vendor-primevue-CCUVk9_F.js";var u={de:o,en:a},d=s(`locale`,()=>{let a=e(`locale`,`en`),o=i(n),s=l(),{electron:d}=c(),f=t.global;function p(e){d?.send(`change-language`,e),f.locale.value=e}async function m(e){let t=u[e];t&&(s.config.locale=t)}return r(a,e=>{p(e),m(e)}),p(a.value),m(a.value),{languages:o,locale:a,setI18Nlocale:p,setPrimeVueLocale:m}});export{d as t};
|