@camera.ui/server 2.1.10 → 2.1.12
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-BDi1TzED.js +1 -0
- package/dist/interface/assets/About-DeHiJp3n.js +1 -0
- package/dist/interface/assets/Automation-4HPAjq1i.js +3 -0
- package/dist/interface/assets/AutomationImport-B3bCE-yS.js +2 -0
- package/dist/interface/assets/AutomationStore-BoWd7IW9.js +2 -0
- package/dist/interface/assets/AutomationStoreDetail-C2ntfGP-.js +2 -0
- package/dist/interface/assets/Automations-CUUq9dxs.js +2 -0
- package/dist/interface/assets/Camera-DmrRrgqQ.js +2 -0
- package/dist/interface/assets/CameraConsole-C8XSUr7X.js +7 -0
- package/dist/interface/assets/Cameras-B-aQUuPk.js +652 -0
- package/dist/interface/assets/Camview-B-W5jpCR.js +1 -0
- package/dist/interface/assets/CertificateUpload-Cg89m_cM.js +1 -0
- package/dist/interface/assets/Config-BDa4dy1w.js +2 -0
- package/dist/interface/assets/{ConfigActionCameraControl-As2qXvnd.js → ConfigActionCameraControl-DNmRpuPG.js} +1 -1
- package/dist/interface/assets/ConfigActionDelay-Reg_tEG_.js +1 -0
- package/dist/interface/assets/ConfigActionHttp-CqRBOSa3.js +1 -0
- package/dist/interface/assets/ConfigActionImageInput-GWECLY4I.js +1 -0
- package/dist/interface/assets/ConfigActionMqtt-Di4ZTig8.js +1 -0
- package/dist/interface/assets/ConfigActionNotification-Bq28CjsJ.js +1 -0
- package/dist/interface/assets/{ConfigActionNotificationControl-ClFMom6m.js → ConfigActionNotificationControl-B_p8dnc4.js} +1 -1
- package/dist/interface/assets/ConfigActionOutput-B31cj20h.js +1 -0
- package/dist/interface/assets/ConfigActionPlugin-DCUhDIiJ.js +1 -0
- package/dist/interface/assets/ConfigActionSensor-De63wYQU.js +1 -0
- package/dist/interface/assets/ConfigActionSnapshot-DZJDjOMT.js +1 -0
- package/dist/interface/assets/ConfigActionVariable-Q3QXVMbR.js +1 -0
- package/dist/interface/assets/ConfigConditionIfElse-DKonPxli.js +1 -0
- package/dist/interface/assets/ConfigConditionSensorState-C_J6ERzt.js +1 -0
- package/dist/interface/assets/ConfigConditionSwitch-DYAlj5no.js +1 -0
- package/dist/interface/assets/ConfigConditionTime-CRDI58_P.js +1 -0
- package/dist/interface/assets/{ConfigSensorValueInput-yTiHhlXG.js → ConfigSensorValueInput-C3ep90ds.js} +1 -1
- package/dist/interface/assets/ConfigTriggerDetection-CbVFlyI8.js +1 -0
- package/dist/interface/assets/{ConfigTriggerGeofence-B2Cqi5Id.js → ConfigTriggerGeofence-ClKyzb-x.js} +1 -1
- package/dist/interface/assets/ConfigTriggerManual-7kAukUgk.js +1 -0
- package/dist/interface/assets/ConfigTriggerMqtt-DUCZZt2j.js +1 -0
- package/dist/interface/assets/ConfigTriggerSchedule-lAiLdu1W.js +1 -0
- package/dist/interface/assets/ConfigTriggerSensor-DIhCfhcN.js +1 -0
- package/dist/interface/assets/{ConfigTriggerSystem-D4cx1GqI.js → ConfigTriggerSystem-DZu6Fp2j.js} +1 -1
- package/dist/interface/assets/ConfigTriggerWebhook-D3a5f6vl.js +1 -0
- package/dist/interface/assets/Console-ctbGFtCH.js +1 -0
- package/dist/interface/assets/CuiAutomationRunsDialog-CgzW_s6M.js +1 -0
- package/dist/interface/assets/CuiBottomSheet-Bo1wUyiN.js +1 -0
- package/dist/interface/assets/CuiBottomSheet-C7UdIQu1.js +1 -0
- package/dist/interface/assets/CuiCameraPipCard-BEAE44of.js +1 -0
- package/dist/interface/assets/CuiCameraRecordings-BzbwSK8-.css +1 -0
- package/dist/interface/assets/CuiCameraRecordings-C1evIMhc.js +1 -0
- package/dist/interface/assets/CuiCameraShares-D3fAJNWF.js +1 -0
- package/dist/interface/assets/CuiCameraTable-ApLSxeO4.js +2 -0
- package/dist/interface/assets/CuiCameraTable-BAjQ8h5H.js +1 -0
- package/dist/interface/assets/CuiChartTable-BeEij8SL.js +1 -0
- package/dist/interface/assets/{CuiChartTable-CqKo74Tf.css → CuiChartTable-DCGY-zVy.css} +1 -1
- package/dist/interface/assets/{CuiConsole-DUswVhFC.js → CuiConsole-CMxpzZ51.js} +2 -2
- package/dist/interface/assets/CuiDataTable-f_QVzRqq.js +1 -0
- package/dist/interface/assets/CuiLightControl-9OhT9YYt.js +1 -0
- package/dist/interface/assets/CuiList-C3oJKyJC.js +1 -0
- package/dist/interface/assets/CuiMarkdownContent-D2bWw1GN.js +1 -0
- package/dist/interface/assets/{CuiMarkdownContent-PSq4kE1G.js → CuiMarkdownContent-gJ8gvmYA.js} +1 -1
- package/dist/interface/assets/CuiPluginCard-DQgVasi7.js +2 -0
- package/dist/interface/assets/CuiPluginCategoryChip-EJhup0nM.js +1 -0
- package/dist/interface/assets/CuiPluginOAuthButton-CbPU8trR.js +2 -0
- package/dist/interface/assets/{CuiPluginTrustBadge-Bc1dQgX8.js → CuiPluginTrustBadge-B4bxBl3A.js} +1 -1
- package/dist/interface/assets/CuiQRCode-CycvR5wz.js +1 -0
- package/dist/interface/assets/CuiSchema-juKEra_J.js +1 -0
- package/dist/interface/assets/CuiTopNavbarItem-D4qP-WpK.js +1 -0
- package/dist/interface/assets/Faces-Ce3mKYc7.js +1 -0
- package/dist/interface/assets/FirstSteps-BBLzX2bl.js +1 -0
- package/dist/interface/assets/Floorplan-B7BVj65t.js +1 -0
- package/dist/interface/assets/Floorplan-Da5gt435.css +1 -0
- package/dist/interface/assets/Instances-4VxGT2fm.js +1 -0
- package/dist/interface/assets/Logs-BBZMBN6a.js +6 -0
- package/dist/interface/assets/Menu-CRLIo98F.js +1 -0
- package/dist/interface/assets/Metrics-DudHV8Ov.js +9 -0
- package/dist/interface/assets/OAuthDeviceFlow-Z3Cesvs9.js +1 -0
- package/dist/interface/assets/Plugin-DwadariU.js +1 -0
- package/dist/interface/assets/PluginConsole-D2SUwFDo.js +7 -0
- package/dist/interface/assets/PluginDetail-C_XghvQz.js +2 -0
- package/dist/interface/assets/PluginSchema-U4q4c9ak.js +1 -0
- package/dist/interface/assets/PluginSearch-11dsxfvW.js +1 -0
- package/dist/interface/assets/PluginSearch-DgQOryM2.js +2 -0
- package/dist/interface/assets/PluginUpdateProgress-DWcs6NlJ.js +1 -0
- package/dist/interface/assets/Plugins-QheVcYZB.js +1 -0
- package/dist/interface/assets/Recordings-D4NzYCO9.css +1 -0
- package/dist/interface/assets/Recordings-DwPnYsd6.js +1 -0
- package/dist/interface/assets/SensorEdit-C9Ejdxaz.js +1 -0
- package/dist/interface/assets/SensorHistory-B16b4-Um.js +1 -0
- package/dist/interface/assets/{Sensors-BUpob7LU.css → Sensors-BsLHVGqk.css} +1 -1
- package/dist/interface/assets/Sensors-D4tY50d4.js +2 -0
- package/dist/interface/assets/Settings-BOd4EPix.js +1 -0
- package/dist/interface/assets/SettingsAccount-DMvvar8D.js +1 -0
- package/dist/interface/assets/SettingsAccount-DYCCnjWY.js +1 -0
- package/dist/interface/assets/SettingsAppearance-DZGa_aiI.js +1 -0
- package/dist/interface/assets/SettingsAppearance-vLBhLEag.js +1 -0
- package/dist/interface/assets/SettingsBackup-DyblUiF8.js +1 -0
- package/dist/interface/assets/SettingsList-DM0yAFkS.js +1 -0
- package/dist/interface/assets/SettingsMqtt-Cj9ywnP2.js +1 -0
- package/dist/interface/assets/SettingsNotifications-flx3W4Uo.js +1 -0
- package/dist/interface/assets/SettingsPermissions-w2ptf4wy.js +1 -0
- package/dist/interface/assets/SettingsRecordings-D3b6y2SX.js +1 -0
- package/dist/interface/assets/SettingsRemote-o01wgKPR.js +2 -0
- package/dist/interface/assets/SettingsSystem-BsXkYsRC.js +2 -0
- package/dist/interface/assets/SettingsUsers-BSsmo6T0.js +1 -0
- package/dist/interface/assets/Terminal-cU-8dVL_.js +4 -0
- package/dist/interface/assets/Updates-dw0MwgsN.js +2 -0
- package/dist/interface/assets/VariableInput-JSpyezJa.js +1 -0
- package/dist/interface/assets/{VariableSuggestions-BGxZxS6U.js → VariableSuggestions-DZbWgsck.js} +1 -1
- package/dist/interface/assets/VersionsHandler-C_mzsgfj.js +7 -0
- package/dist/interface/assets/VirtualSensorCreate-3mJ8c6Tl.js +1 -0
- package/dist/interface/assets/Workers-CdaYj6Ap.js +2 -0
- package/dist/interface/assets/{account-DuSFtIHf.js → account-BW_r05fC.js} +1 -1
- package/dist/interface/assets/ace-BSiU5ylo.js +1 -0
- package/dist/interface/assets/{ace.config-BNjBs7Fe.js → ace.config-DIcQ8yOb.js} +1 -1
- package/dist/interface/assets/{alert-circle-C2AU59aR.js → alert-circle-We_nDFAy.js} +1 -1
- package/dist/interface/assets/alert-outline-KxFvd3i6.js +1 -0
- package/dist/interface/assets/api-2VPaKkqc.js +2 -0
- package/dist/interface/assets/api-CEbDxsSY.css +2 -0
- package/dist/interface/assets/api-COPnjVh2.js +1 -0
- package/dist/interface/assets/arrow-left-V1y_rwzT.js +1 -0
- package/dist/interface/assets/auth-owqLfbdn.js +1 -0
- package/dist/interface/assets/automations-Bql07EFx.js +1 -0
- package/dist/interface/assets/{back-filled-DcBDBvvP.js → back-filled-MAIFvJqE.js} +1 -1
- package/dist/interface/assets/{bell-ring-DSX81yd4.js → bell-ring-DBCDVZQy.js} +1 -1
- package/dist/interface/assets/{brain-7IVdhMyV.js → brain-Bqf50oqB.js} +1 -1
- package/dist/interface/assets/cameras.schema-CnSdfqqj.js +1 -0
- package/dist/interface/assets/cctv-Tng3HqLa.js +1 -0
- package/dist/interface/assets/check-circle-DNTQ812v.js +1 -0
- package/dist/interface/assets/chevron-down-DqCuosKP.js +1 -0
- package/dist/interface/assets/{clock-outline-DF1wLNzs.js → clock-outline-DwnISu0k.js} +1 -1
- package/dist/interface/assets/{close-BNAWPz0y.js → close-ChGy_BeH.js} +1 -1
- package/dist/interface/assets/{close-circle-zhDWvz98.js → close-circle-B9jFTQT1.js} +1 -1
- package/dist/interface/assets/{cloud-check-pUK1Fpt9.js → cloud-check-DABrVuto.js} +1 -1
- package/dist/interface/assets/cloudHandoff-B1z5dyPD.js +1 -0
- package/dist/interface/assets/config-soN-D-nC.js +1 -0
- package/dist/interface/assets/content-copy-CsUEmnFS.js +1 -0
- package/dist/interface/assets/{copy-BPT84cDt.js → copy-CzGo5Njh.js} +1 -1
- package/dist/interface/assets/{cube-scan-DOe6W9mW.js → cube-scan-BR5la6Qx.js} +1 -1
- package/dist/interface/assets/delete-CiJ6ng5_.js +1 -0
- package/dist/interface/assets/{dist-Yc5s0_JB.js → dist-2BkH6KaN.js} +1 -1
- package/dist/interface/assets/download-CaV8-tw6.js +1 -0
- package/dist/interface/assets/esm-BbJ0evRe.js +1 -0
- package/dist/interface/assets/esm-BhHeaCLC.js +1 -0
- package/dist/interface/assets/esm-BoDnt3g2.js +1 -0
- package/dist/interface/assets/esm-BvXpx-4p.js +1 -0
- package/dist/interface/assets/esm-BvcRUTNT.js +1 -0
- package/dist/interface/assets/esm-C0UOpApX.js +1 -0
- package/dist/interface/assets/esm-C43w04L-.js +1 -0
- package/dist/interface/assets/esm-CdrLDSBm.js +1 -0
- package/dist/interface/assets/esm-Cwg8vrH-.js +1 -0
- package/dist/interface/assets/esm-DKQwb4z2.js +1 -0
- package/dist/interface/assets/esm-DcJy8m_I.js +1 -0
- package/dist/interface/assets/esm-Dp7jb0si.js +1 -0
- package/dist/interface/assets/esm-cbRd6tNR.js +1 -0
- package/dist/interface/assets/esm-iDhBQslT.js +1 -0
- package/dist/interface/assets/{eye-off-CaRq7Ks2.js → eye-off-DAhBNvxJ.js} +1 -1
- package/dist/interface/assets/eye-off-outline-Bj1tXD9w.js +1 -0
- package/dist/interface/assets/{flowSchema-B_Otn6RU.js → flowSchema-BFZ6n5Su.js} +1 -1
- package/dist/interface/assets/{history-SuH8IHAj.js → history-F0qTKQGT.js} +1 -1
- package/dist/interface/assets/home-DEKGoPL_.js +1 -0
- package/dist/interface/assets/{information-outline-BQDq8w2t.js → information-outline-CQ5e79wc.js} +1 -1
- package/dist/interface/assets/{intercomService-BpTOoSQi.js → intercomService-Bjn0OsVT.js} +1 -1
- package/dist/interface/assets/{lan-BP0NuDr7.js → lan-D9PCM8iA.js} +1 -1
- package/dist/interface/assets/{lightbulb-outline-ClK17CO6.js → lightbulb-outline-BtraGBwO.js} +1 -1
- package/dist/interface/assets/{main-CFQGq2Yn.css → main-BF8Mg561.css} +1 -1
- package/dist/interface/assets/main-BfL5CDS8.js +3 -0
- package/dist/interface/assets/{microphone-C0weJY9W.js → microphone-CGwzrMxl.js} +1 -1
- package/dist/interface/assets/minus-HH0UdIjG.js +1 -0
- package/dist/interface/assets/mqtt-CMdU36uB.js +1 -0
- package/dist/interface/assets/native-BNjvFMoD.js +1 -0
- package/dist/interface/assets/native-XKbagpr7.js +1 -0
- package/dist/interface/assets/{nodeDefinitions-c5rXs9EW.js → nodeDefinitions-D6zhuw60.js} +1 -1
- package/dist/interface/assets/notifications-C_CbT9aA.js +1 -0
- package/dist/interface/assets/{pencil-outline-D7aD4cCo.js → pencil-outline-B5N-eyTy.js} +1 -1
- package/dist/interface/assets/plugin-BStPT8lW.js +1 -0
- package/dist/interface/assets/plugins-CGDE1O2F.js +1 -0
- package/dist/interface/assets/{plus-CA5o30dE.js → plus-Ct9djYce.js} +1 -1
- package/dist/interface/assets/plus-CxnlTOHI.js +1 -0
- package/dist/interface/assets/power-C-XO8yWI.js +1 -0
- package/dist/interface/assets/radar-8nK_pSbi.js +1 -0
- package/dist/interface/assets/{refresh-Ds2EayhZ.js → refresh-CygeIRWu.js} +1 -1
- package/dist/interface/assets/restore-D_Dq23W9.js +1 -0
- package/dist/interface/assets/{ring-resize-DkY5EgVl.js → ring-resize-DsW_XYdA.js} +1 -1
- package/dist/interface/assets/rooms-BnJo8QbU.js +1 -0
- package/dist/interface/assets/{round-alt-arrow-left-bold-CfccdiWp.js → round-alt-arrow-left-bold-2FHg8vBl.js} +1 -1
- package/dist/interface/assets/{search-BZkSqZO5.js → search-Ck7b7yvI.js} +1 -1
- package/dist/interface/assets/{sensorIcons-CP5EQZ60.js → sensorIcons-FPxm3pDg.js} +1 -1
- package/dist/interface/assets/sensors-Bshdwbki.js +1 -0
- package/dist/interface/assets/server-CaRDiFTF.js +1 -0
- package/dist/interface/assets/{settings-BUEZ5iRE.js → settings-Bw6giVLH.js} +1 -1
- package/dist/interface/assets/{source-branch-ztDB0e13.js → source-branch-K7YOvHCE.js} +1 -1
- package/dist/interface/assets/theme-CRQoJiuY.js +1 -0
- package/dist/interface/assets/{trash-2-DMMlSPXn.js → trash-2-eaKaSMof.js} +1 -1
- package/dist/interface/assets/trash-can-outline-_aiv_oEu.js +1 -0
- package/dist/interface/assets/{trash-fill-DevIK050.js → trash-fill-OkxLbTTj.js} +1 -1
- package/dist/interface/assets/{trash2-BLScx4HX.js → trash2-Czz-2j5D.js} +1 -1
- package/dist/interface/assets/types-BHgaZSm2.js +1 -0
- package/dist/interface/assets/{types-bCt9IrFD.js → types-CQpPteyx.js} +1 -1
- package/dist/interface/assets/{types-G1_espGV.js → types-Dwu7_YVv.js} +1 -1
- package/dist/interface/assets/undo-RdNzlJdm.js +1 -0
- package/dist/interface/assets/ungrouped-BbOtmmDD.js +1 -0
- package/dist/interface/assets/{CuiRecordingsGrid-EAumRo5E.css → ungrouped-uv64nr5n.css} +1 -1
- package/dist/interface/assets/{updates-CVapvGAI.js → updates-DelnBMM3.js} +1 -1
- package/dist/interface/assets/upload-DCTSXaJV.js +1 -0
- package/dist/interface/assets/upload-D_9SZvdG.js +1 -0
- package/dist/interface/assets/{useAppVersion-SrF7tGCe.js → useAppVersion-DeQeb6UF.js} +1 -1
- package/dist/interface/assets/useBackupRestore-CT1PYJDW.js +1 -0
- package/dist/interface/assets/{useCameraOptions-zsIqf0i9.js → useCameraOptions-DgMpN00_.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-DSltWBh4.js → useLogsSocket-BKPqNCOv.js} +1 -1
- package/dist/interface/assets/{useNavLayout-BhlxDHV7.js → useNavLayout-BJhl8UVM.js} +1 -1
- package/dist/interface/assets/{usePermissions-4HqGU99G.js → usePermissions-Eyt2t6_8.js} +1 -1
- package/dist/interface/assets/{usePluginUpdates-CKH0Hb87.js → usePluginUpdates-wfckuNy_.js} +1 -1
- package/dist/interface/assets/{usePushRegistration-DAE3goyn.js → usePushRegistration-jcfB8ujf.js} +2 -2
- package/dist/interface/assets/useServerRestart-XnqHaTb7.js +1 -0
- package/dist/interface/assets/{useStreamStatus-B3QIWjDE.js → useStreamStatus-8bE5h_fQ.js} +1 -1
- package/dist/interface/assets/{useTabSwipe-BYFLQ9EY.js → useTabSwipe-DxZfseQO.js} +1 -1
- package/dist/interface/assets/useUpdateChannel-CjxdE3h1.js +1 -0
- package/dist/interface/assets/{useUpdatesSocket-CoxkS7Hr.js → useUpdatesSocket-DFt7_yr8.js} +1 -1
- package/dist/interface/assets/useUserOptions-DStio0f5.js +1 -0
- package/dist/interface/assets/{variable-CCMnQpL2.js → variable-CYzMRxrK.js} +1 -1
- package/dist/interface/assets/vendor-AX0A8AMd.js +20 -0
- package/dist/interface/assets/{vendor-ace-DIEVbs6L.js → vendor-ace-Bxj8w-af.js} +11 -11
- package/dist/interface/assets/vendor-cameraui-ZyqPntQ7.js +2326 -0
- package/dist/interface/assets/{vendor-capacitor-4nn-eF9U.js → vendor-capacitor-B-ykF6jr.js} +2 -2
- package/dist/interface/assets/vendor-chart-C-1xJhJN.js +3 -0
- package/dist/interface/assets/vendor-core-DN-bpg68.js +1 -0
- package/dist/interface/assets/{vendor-dnd-ChrDrMuz.js → vendor-dnd-onyWAbsd.js} +1 -1
- package/dist/interface/assets/{vendor-draggabilly-DSeIE_bQ.js → vendor-draggabilly-B7q3Src-.js} +1 -1
- package/dist/interface/assets/{vendor-gridstack-DsRWLz0m.css → vendor-gridstack-7uZBsdEh.css} +1 -1
- package/dist/interface/assets/vendor-gridstack-C5hqQCSi.js +3 -0
- package/dist/interface/assets/{vendor-leaflet-Bcgd-fkG.js → vendor-leaflet-aXJ6sRgf.js} +1 -1
- package/dist/interface/assets/vendor-markdown-aj6qAoLx.js +14 -0
- package/dist/interface/assets/{vendor-primevue-DMAuiM9b.js → vendor-primevue-DXXRO7Z5.js} +61 -61
- package/dist/interface/assets/vendor-vueflow-8uLknwcA.js +26 -0
- package/dist/interface/assets/vendor-xterm-Bor91IHm.js +85 -0
- package/dist/interface/assets/{vendor-zod-Dbq0fBXY.js → vendor-zod-B0ZFM2Pr.js} +1 -1
- package/dist/interface/assets/web-BFaZfzEP.js +1 -0
- package/dist/interface/assets/web-BdoMdiEl.js +1 -0
- package/dist/interface/assets/web-BjKL51lK-BiZEVgwj.js +1 -0
- package/dist/interface/assets/web-Bo0giiE9.js +1 -0
- package/dist/interface/assets/web-Bq6cS9c5.js +1 -0
- package/dist/interface/assets/web-Ckkk3gWT.js +1 -0
- package/dist/interface/assets/web-CsH298dH.js +1 -0
- package/dist/interface/assets/web-Cti9cQXr.js +1 -0
- package/dist/interface/assets/web-CtlJwfNS.js +1 -0
- package/dist/interface/assets/web-DUuNw0Ig.js +1 -0
- package/dist/interface/assets/web-Dz9QrW1k.js +1 -0
- package/dist/interface/assets/web-MA3uDo37.js +1 -0
- package/dist/interface/assets/web-UiUgCX6p.js +1 -0
- package/dist/interface/assets/web-zisLysQx.js +1 -0
- package/dist/interface/assets/{webhook-DQiZUPv8.js → webhook-CPF2kUgU.js} +1 -1
- package/dist/interface/assets/workbox-window.prod.es5-CocanelX.js +1 -0
- package/dist/interface/assets/{zoom-in-Du1IB9oA.js → zoom-in-D-OIVcXF.js} +1 -1
- package/dist/interface/index.html +50 -48
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +17 -26
- package/dist/server/requirements.txt +4 -4
- package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/signal_handler.py +2 -6
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +8 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +4 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +91 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/__init__.py +2 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +3 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +40 -1
- package/dist/server/src/api/controllers/auth.controller.d.ts +0 -1
- package/dist/server/src/api/controllers/auth.controller.js +1 -18
- package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
- package/dist/server/src/api/controllers/floorplan.controller.d.ts +11 -0
- package/dist/server/src/api/controllers/floorplan.controller.js +27 -0
- package/dist/server/src/api/controllers/floorplan.controller.js.map +1 -0
- package/dist/server/src/api/controllers/remote.controller.d.ts +0 -1
- package/dist/server/src/api/controllers/remote.controller.js +2 -12
- package/dist/server/src/api/controllers/remote.controller.js.map +1 -1
- package/dist/server/src/api/controllers/rooms.controller.d.ts +18 -0
- package/dist/server/src/api/controllers/rooms.controller.js +48 -0
- package/dist/server/src/api/controllers/rooms.controller.js.map +1 -0
- package/dist/server/src/api/controllers/sensors.controller.d.ts +1 -2
- package/dist/server/src/api/controllers/sensors.controller.js +0 -14
- package/dist/server/src/api/controllers/sensors.controller.js.map +1 -1
- package/dist/server/src/api/controllers/server.controller.d.ts +3 -0
- package/dist/server/src/api/controllers/server.controller.js +56 -1
- package/dist/server/src/api/controllers/server.controller.js.map +1 -1
- package/dist/server/src/api/database/constants.d.ts +2 -0
- package/dist/server/src/api/database/constants.js +2 -0
- package/dist/server/src/api/database/constants.js.map +1 -1
- package/dist/server/src/api/database/index.d.ts +4 -2
- package/dist/server/src/api/database/index.js +17 -6
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/database/migrations/v2-1-15.d.ts +3 -0
- package/dist/server/src/api/database/migrations/v2-1-15.js +160 -0
- package/dist/server/src/api/database/migrations/v2-1-15.js.map +1 -0
- package/dist/server/src/api/database/migrations/v2-1-16.d.ts +3 -0
- package/dist/server/src/api/database/migrations/v2-1-16.js +36 -0
- package/dist/server/src/api/database/migrations/v2-1-16.js.map +1 -0
- package/dist/server/src/api/database/migrations/v2-1-17.d.ts +3 -0
- package/dist/server/src/api/database/migrations/v2-1-17.js +14 -0
- package/dist/server/src/api/database/migrations/v2-1-17.js.map +1 -0
- package/dist/server/src/api/database/record-schemas.d.ts +65 -1
- package/dist/server/src/api/database/record-schemas.js +74 -0
- package/dist/server/src/api/database/record-schemas.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +68 -0
- package/dist/server/src/api/index.js +4 -0
- package/dist/server/src/api/index.js.map +1 -1
- package/dist/server/src/api/routes/floorplan.routes.d.ts +2 -0
- package/dist/server/src/api/routes/floorplan.routes.js +29 -0
- package/dist/server/src/api/routes/floorplan.routes.js.map +1 -0
- package/dist/server/src/api/routes/index.js +4 -0
- package/dist/server/src/api/routes/index.js.map +1 -1
- package/dist/server/src/api/routes/rooms.routes.d.ts +2 -0
- package/dist/server/src/api/routes/rooms.routes.js +40 -0
- package/dist/server/src/api/routes/rooms.routes.js.map +1 -0
- package/dist/server/src/api/routes/sensors.routes.js +1 -12
- package/dist/server/src/api/routes/sensors.routes.js.map +1 -1
- package/dist/server/src/api/routes/server.routes.js +33 -0
- package/dist/server/src/api/routes/server.routes.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +33 -4
- package/dist/server/src/api/schemas/cameras.schema.js +17 -1
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/config.schema.d.ts +0 -12
- package/dist/server/src/api/schemas/config.schema.js +1 -10
- package/dist/server/src/api/schemas/config.schema.js.map +1 -1
- package/dist/server/src/api/schemas/floorplan.schema.d.ts +110 -0
- package/dist/server/src/api/schemas/floorplan.schema.js +61 -0
- package/dist/server/src/api/schemas/floorplan.schema.js.map +1 -0
- package/dist/server/src/api/schemas/rooms.schema.d.ts +12 -0
- package/dist/server/src/api/schemas/rooms.schema.js +14 -0
- package/dist/server/src/api/schemas/rooms.schema.js.map +1 -0
- package/dist/server/src/api/schemas/sensors.schema.d.ts +0 -8
- package/dist/server/src/api/schemas/sensors.schema.js +1 -6
- package/dist/server/src/api/schemas/sensors.schema.js.map +1 -1
- package/dist/server/src/api/schemas/users.schema.d.ts +8 -8
- package/dist/server/src/api/services/backup.service.js +4 -5
- package/dist/server/src/api/services/backup.service.js.map +1 -1
- package/dist/server/src/api/services/cameras.service.d.ts +7 -0
- package/dist/server/src/api/services/cameras.service.js +41 -12
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- package/dist/server/src/api/services/floorplan.service.d.ts +19 -0
- package/dist/server/src/api/services/floorplan.service.js +173 -0
- package/dist/server/src/api/services/floorplan.service.js.map +1 -0
- package/dist/server/src/api/services/plugins.service.js +6 -5
- package/dist/server/src/api/services/plugins.service.js.map +1 -1
- package/dist/server/src/api/services/rooms.service.d.ts +17 -0
- package/dist/server/src/api/services/rooms.service.js +121 -0
- package/dist/server/src/api/services/rooms.service.js.map +1 -0
- package/dist/server/src/api/services/sensors.service.d.ts +2 -1
- package/dist/server/src/api/services/sensors.service.js +24 -5
- package/dist/server/src/api/services/sensors.service.js.map +1 -1
- package/dist/server/src/api/services/server.service.js +7 -2
- package/dist/server/src/api/services/server.service.js.map +1 -1
- package/dist/server/src/api/services/updates.service.d.ts +2 -0
- package/dist/server/src/api/services/updates.service.js +25 -10
- package/dist/server/src/api/services/updates.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +1 -5
- package/dist/server/src/api/utils/cert.d.ts +1 -0
- package/dist/server/src/api/utils/cert.js +73 -34
- package/dist/server/src/api/utils/cert.js.map +1 -1
- package/dist/server/src/api/utils/constants.d.ts +3 -0
- package/dist/server/src/api/utils/constants.js +3 -0
- package/dist/server/src/api/utils/constants.js.map +1 -1
- package/dist/server/src/api/utils/custom-cert.d.ts +48 -0
- package/dist/server/src/api/utils/custom-cert.js +193 -0
- package/dist/server/src/api/utils/custom-cert.js.map +1 -0
- package/dist/server/src/api/websocket/index.js +3 -1
- package/dist/server/src/api/websocket/index.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/sensors.d.ts +14 -0
- package/dist/server/src/api/websocket/nsp/sensors.js +83 -0
- package/dist/server/src/api/websocket/nsp/sensors.js.map +1 -0
- package/dist/server/src/api/websocket/types.d.ts +1 -1
- package/dist/server/src/camera/controller.js +3 -2
- package/dist/server/src/camera/controller.js.map +1 -1
- package/dist/server/src/camera/decoder/child.js +3 -0
- package/dist/server/src/camera/decoder/child.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-coordinator.d.ts +4 -2
- package/dist/server/src/camera/decoder/detection-coordinator.js +36 -12
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
- package/dist/server/src/camera/decoder/event-manager.js +24 -4
- package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
- package/dist/server/src/camera/decoder/event-thumbnailer.js +0 -2
- package/dist/server/src/camera/decoder/event-thumbnailer.js.map +1 -1
- package/dist/server/src/camera/decoder/frame-scaler.js +3 -2
- package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
- package/dist/server/src/camera/decoder/hardware.d.ts +1 -0
- package/dist/server/src/camera/decoder/hardware.js +11 -0
- package/dist/server/src/camera/decoder/hardware.js.map +1 -1
- package/dist/server/src/camera/decoder/nvr-sink.d.ts +4 -0
- package/dist/server/src/camera/decoder/nvr-sink.js +1 -1
- package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
- package/dist/server/src/camera/decoder/sources/audio-source.js +0 -1
- package/dist/server/src/camera/decoder/sources/audio-source.js.map +1 -1
- package/dist/server/src/camera/decoder/worker.js +7 -5
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/dist/server/src/camera/streaming/rtp-session.js +12 -9
- package/dist/server/src/camera/streaming/rtp-session.js.map +1 -1
- package/dist/server/src/go2rtc/index.js +10 -2
- package/dist/server/src/go2rtc/index.js.map +1 -1
- package/dist/server/src/main.js +18 -11
- package/dist/server/src/main.js.map +1 -1
- package/dist/server/src/manager/coreManager.d.ts +7 -4
- package/dist/server/src/manager/coreManager.js +19 -1
- package/dist/server/src/manager/coreManager.js.map +1 -1
- package/dist/server/src/manager/downloadManager.d.ts +1 -0
- package/dist/server/src/manager/downloadManager.js +30 -4
- package/dist/server/src/manager/downloadManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/base.d.ts +2 -1
- package/dist/server/src/plugins/runtime/base.js +16 -4
- package/dist/server/src/plugins/runtime/base.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/child.js +3 -0
- package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/index.js +2 -2
- package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +39 -28
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/limiter.d.ts +1 -0
- package/dist/server/src/plugins/runtime/node/proxy/limiter.js +21 -0
- package/dist/server/src/plugins/runtime/node/proxy/limiter.js.map +1 -0
- package/dist/server/src/plugins/runtime/node/proxy/sensorManager.d.ts +3 -1
- package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js +63 -47
- package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +5 -0
- package/dist/server/src/plugins/runtime/python/proxy/limiter.py +14 -0
- package/dist/server/src/plugins/runtime/python/proxy/sensor.py +4 -0
- package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +35 -1
- package/dist/server/src/plugins/runtime/python/rpc/typings.py +4 -1
- package/dist/server/src/plugins/worker.js +1 -0
- package/dist/server/src/plugins/worker.js.map +1 -1
- package/dist/server/src/rpc/index.js +2 -2
- package/dist/server/src/rpc/index.js.map +1 -1
- package/dist/server/src/rpc/interfaces/core.d.ts +19 -2
- package/dist/server/src/rpc/interfaces/sensor.d.ts +29 -1
- package/dist/server/src/rpc/namespaces.d.ts +4 -0
- package/dist/server/src/rpc/namespaces.js +5 -0
- package/dist/server/src/rpc/namespaces.js.map +1 -1
- package/dist/server/src/rpc/server.js +4 -4
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/sensors/discovery.d.ts +29 -0
- package/dist/server/src/sensors/discovery.js +149 -0
- package/dist/server/src/sensors/discovery.js.map +1 -0
- package/dist/server/src/sensors/registry.d.ts +2 -2
- package/dist/server/src/sensors/registry.js +31 -10
- package/dist/server/src/sensors/registry.js.map +1 -1
- package/dist/server/src/services/config/constants.js +1 -2
- package/dist/server/src/services/config/constants.js.map +1 -1
- package/dist/server/src/services/config/defaults.d.ts +1 -2
- package/dist/server/src/services/config/defaults.js +1 -7
- package/dist/server/src/services/config/defaults.js.map +1 -1
- package/dist/server/src/services/config/index.d.ts +10 -0
- package/dist/server/src/services/config/index.js +98 -41
- package/dist/server/src/services/config/index.js.map +1 -1
- package/dist/server/src/services/config/types.d.ts +0 -7
- package/dist/server/src/utils/camera.d.ts +1 -0
- package/dist/server/src/utils/camera.js +7 -0
- package/dist/server/src/utils/camera.js.map +1 -1
- package/dist/server/src/utils/crash.d.ts +2 -0
- package/dist/server/src/utils/crash.js +14 -0
- package/dist/server/src/utils/crash.js.map +1 -0
- package/dist/server/src/utils/process-exit.d.ts +5 -0
- package/dist/server/src/utils/process-exit.js +11 -0
- package/dist/server/src/utils/process-exit.js.map +1 -0
- package/dist/server/src/workers/agent.js +3 -0
- package/dist/server/src/workers/agent.js.map +1 -1
- package/dist/server/src/workers/capabilities/frame-decoding.js +12 -1
- package/dist/server/src/workers/capabilities/frame-decoding.js.map +1 -1
- package/package.json +17 -26
- package/dist/interface/assets/404-BLNSh-sA.js +0 -1
- package/dist/interface/assets/About-ZakRzon7.js +0 -1
- package/dist/interface/assets/Automation-DoVhkuVY.js +0 -3
- package/dist/interface/assets/AutomationImport-DVxK1R1y.js +0 -2
- package/dist/interface/assets/AutomationStore-DaNO9_9S.js +0 -2
- package/dist/interface/assets/AutomationStoreDetail-CTDCEaIz.js +0 -2
- package/dist/interface/assets/Automations-mdnUitWx.js +0 -2
- package/dist/interface/assets/Camera-B3cv5IVC.js +0 -2
- package/dist/interface/assets/CameraConsole-C32X5I91.js +0 -7
- package/dist/interface/assets/Cameras-Drv48-Eb.js +0 -652
- package/dist/interface/assets/Camview-Bvy39jSt.js +0 -1
- package/dist/interface/assets/Config-B-LDdaS6.js +0 -2
- package/dist/interface/assets/ConfigActionDelay-Cj3yWfEV.js +0 -1
- package/dist/interface/assets/ConfigActionHttp-PlS5vI0v.js +0 -1
- package/dist/interface/assets/ConfigActionImageInput-BHflOA-T.js +0 -1
- package/dist/interface/assets/ConfigActionMqtt-DByOwVPe.js +0 -1
- package/dist/interface/assets/ConfigActionNotification-D_8_lp96.js +0 -1
- package/dist/interface/assets/ConfigActionOutput-YTAw-Are.js +0 -1
- package/dist/interface/assets/ConfigActionPlugin-lF2IH2Bo.js +0 -1
- package/dist/interface/assets/ConfigActionSensor-DQZW_Jxr.js +0 -1
- package/dist/interface/assets/ConfigActionSnapshot-CHxIQ5J0.js +0 -1
- package/dist/interface/assets/ConfigActionVariable-0VLGuhwP.js +0 -1
- package/dist/interface/assets/ConfigConditionIfElse-D-Ibn8QL.js +0 -1
- package/dist/interface/assets/ConfigConditionSensorState-BKSGYRdv.js +0 -1
- package/dist/interface/assets/ConfigConditionSwitch-CzkEyWb1.js +0 -1
- package/dist/interface/assets/ConfigConditionTime-BFKsDI_t.js +0 -1
- package/dist/interface/assets/ConfigTriggerDetection-DFTgRaE0.js +0 -1
- package/dist/interface/assets/ConfigTriggerManual-BDK6OYxg.js +0 -1
- package/dist/interface/assets/ConfigTriggerMqtt-BZO14RrW.js +0 -1
- package/dist/interface/assets/ConfigTriggerSchedule-sMkzMLgn.js +0 -1
- package/dist/interface/assets/ConfigTriggerSensor-D6W_exDW.js +0 -1
- package/dist/interface/assets/ConfigTriggerWebhook-DxZziGkL.js +0 -1
- package/dist/interface/assets/Console-DjA3ZPU_.js +0 -1
- package/dist/interface/assets/CuiAutomationRunsDialog-B4ABK72A.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-D1zDWsoK.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-N9MHq4yZ.js +0 -1
- package/dist/interface/assets/CuiCameraPipCard-CnWs2fAC.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-AA-sBtb4.css +0 -1
- package/dist/interface/assets/CuiCameraRecordings-CahW-f8_.js +0 -1
- package/dist/interface/assets/CuiCameraShares-B2RdPWWh.js +0 -1
- package/dist/interface/assets/CuiCameraTable-4ikGv8QA.js +0 -1
- package/dist/interface/assets/CuiCameraTable-BKBvhRDc.js +0 -2
- package/dist/interface/assets/CuiChartTable-Lvz9Zq0k.js +0 -1
- package/dist/interface/assets/CuiDataTable-CIP95jVF.js +0 -1
- package/dist/interface/assets/CuiLightControl-CvfWo8mY.js +0 -1
- package/dist/interface/assets/CuiList-CajC6jpE.js +0 -1
- package/dist/interface/assets/CuiMarkdownContent-DIycyLeP.js +0 -1
- package/dist/interface/assets/CuiPluginCard-CQS8C87-.js +0 -2
- package/dist/interface/assets/CuiPluginCategoryChip-DCNG8zl1.js +0 -1
- package/dist/interface/assets/CuiPluginOAuthButton-CvZrOWr8.js +0 -2
- package/dist/interface/assets/CuiQRCode-CjLcB644.js +0 -1
- package/dist/interface/assets/CuiRecordingsGrid-DrpErbux.js +0 -1
- package/dist/interface/assets/CuiSchema-DG8peseE.js +0 -1
- package/dist/interface/assets/CuiTopNavbarItem-Dq3Esl1S.js +0 -1
- package/dist/interface/assets/Faces-D0yRgOMj.js +0 -1
- package/dist/interface/assets/FirstSteps-BW8AVmd4.js +0 -1
- package/dist/interface/assets/Instances-BgXJvs0_.js +0 -1
- package/dist/interface/assets/Logs-DH3rWnlV.js +0 -6
- package/dist/interface/assets/Menu-D9FVgjwT.js +0 -1
- package/dist/interface/assets/Metrics-7bYWyGWU.js +0 -9
- package/dist/interface/assets/OAuthDeviceFlow-BS0FQbZh.js +0 -1
- package/dist/interface/assets/Plugin-ZwkTp6C4.js +0 -1
- package/dist/interface/assets/PluginConsole-Dt39TWaO.js +0 -7
- package/dist/interface/assets/PluginDetail-D7ZtOG9Y.js +0 -2
- package/dist/interface/assets/PluginSchema-8T7EBq-Z.js +0 -1
- package/dist/interface/assets/PluginSearch-DN3o0wfs.js +0 -1
- package/dist/interface/assets/PluginSearch-eRDCvu_8.js +0 -2
- package/dist/interface/assets/PluginUpdateProgress-CxjpzkGa.js +0 -1
- package/dist/interface/assets/Plugins-DVsMpyvr.js +0 -1
- package/dist/interface/assets/Recordings-BKxSEiQo.js +0 -1
- package/dist/interface/assets/Recordings-cR4_6aGN.css +0 -1
- package/dist/interface/assets/SensorEdit-BmaMQKEa.js +0 -1
- package/dist/interface/assets/SensorHistory-CmOAk-tD.js +0 -1
- package/dist/interface/assets/Sensors-x08al7Je.js +0 -2
- package/dist/interface/assets/Settings-Cp1lzG1i.js +0 -1
- package/dist/interface/assets/SettingsAccount-BwCNddkW.js +0 -1
- package/dist/interface/assets/SettingsAccount-DC9AxqHe.js +0 -1
- package/dist/interface/assets/SettingsAppearance-CMzzDZCX.js +0 -1
- package/dist/interface/assets/SettingsAppearance-Dr8hJloI.js +0 -1
- package/dist/interface/assets/SettingsBackup-Dc8pDM3Y.js +0 -1
- package/dist/interface/assets/SettingsList-3peF3gFZ.js +0 -1
- package/dist/interface/assets/SettingsMqtt-k-cHaOoA.js +0 -1
- package/dist/interface/assets/SettingsNotifications-BJHYlSKX.js +0 -1
- package/dist/interface/assets/SettingsPermissions-CymqvfR9.js +0 -1
- package/dist/interface/assets/SettingsRecordings-gWTD_djR.js +0 -1
- package/dist/interface/assets/SettingsRemote-BWAhI1Gw.js +0 -2
- package/dist/interface/assets/SettingsSystem-BGBUQvjg.js +0 -2
- package/dist/interface/assets/SettingsUsers-B_Ri5OrM.js +0 -1
- package/dist/interface/assets/Terminal-eYxvgFHE.js +0 -4
- package/dist/interface/assets/Updates-CweZekTf.js +0 -2
- package/dist/interface/assets/VariableInput-CM6T3pUW.js +0 -1
- package/dist/interface/assets/VersionsHandler-BWIiBPPa.js +0 -7
- package/dist/interface/assets/VirtualSensorCreate-CFQC2-9D.js +0 -1
- package/dist/interface/assets/Workers-B-sp43t3.js +0 -2
- package/dist/interface/assets/ace-BqKKexH4.js +0 -1
- package/dist/interface/assets/alert-outline-GrD7-zHq.js +0 -1
- package/dist/interface/assets/api-CG0j1twy.js +0 -1
- package/dist/interface/assets/api-CVOj5SYs.css +0 -2
- package/dist/interface/assets/api-C_bOaXk2.js +0 -2
- package/dist/interface/assets/arrow-left-C1N6U6kZ.js +0 -1
- package/dist/interface/assets/auth-BPSOBTDX.js +0 -1
- package/dist/interface/assets/automations-BrtwUIUz.js +0 -1
- package/dist/interface/assets/cameras.schema-CoIOnGzE.js +0 -1
- package/dist/interface/assets/check-circle-Do_mBN_A.js +0 -1
- package/dist/interface/assets/chevron-down-D111daTn.js +0 -1
- package/dist/interface/assets/cloudHandoff-BiFzJEYx.js +0 -1
- package/dist/interface/assets/config-BjldP5A6.js +0 -1
- package/dist/interface/assets/content-copy-CLkJTA4w.js +0 -1
- package/dist/interface/assets/delete-BF6keuqy.js +0 -1
- package/dist/interface/assets/download-BCPfm6aN.js +0 -1
- package/dist/interface/assets/esm-B3yVlCMw.js +0 -1
- package/dist/interface/assets/esm-BKQ7CQK7.js +0 -1
- package/dist/interface/assets/esm-BiSE05P9.js +0 -1
- package/dist/interface/assets/esm-BoPthGAl.js +0 -1
- package/dist/interface/assets/esm-C2ALrdyx.js +0 -1
- package/dist/interface/assets/esm-CKEGzys4.js +0 -1
- package/dist/interface/assets/esm-CctiCHtK.js +0 -1
- package/dist/interface/assets/esm-Cqq81lnk.js +0 -1
- package/dist/interface/assets/esm-CyrLQTu0.js +0 -1
- package/dist/interface/assets/esm-D6O-eZYo.js +0 -1
- package/dist/interface/assets/esm-DG1f0qwo.js +0 -1
- package/dist/interface/assets/esm-DGegIZMF.js +0 -1
- package/dist/interface/assets/esm-JGwpHVqo.js +0 -1
- package/dist/interface/assets/esm-TRigYTsA.js +0 -1
- package/dist/interface/assets/home-CUykMSBW.js +0 -1
- package/dist/interface/assets/main-BG-VCb--.js +0 -3
- package/dist/interface/assets/minus-RI3VlDe8.js +0 -1
- package/dist/interface/assets/mqtt-DSPPQwxJ.js +0 -1
- package/dist/interface/assets/native-B01iGjCh.js +0 -1
- package/dist/interface/assets/native-D381pxlG.js +0 -1
- package/dist/interface/assets/notifications-DEEM2oP2.js +0 -1
- package/dist/interface/assets/plugin-W20ihuog.js +0 -1
- package/dist/interface/assets/plugins-DBBFdZKH.js +0 -1
- package/dist/interface/assets/plus-DHwFyXkb.js +0 -1
- package/dist/interface/assets/power-C9UIp2oO.js +0 -1
- package/dist/interface/assets/sensors-CKTPsYYH.js +0 -1
- package/dist/interface/assets/server-B_MuqJ5z.js +0 -1
- package/dist/interface/assets/table-2-line-B-z0xvbG.js +0 -1
- package/dist/interface/assets/theme-FztlStyg.js +0 -1
- package/dist/interface/assets/trash-can-outline-DLKniIWM.js +0 -1
- package/dist/interface/assets/types-BHAzjgi3.js +0 -1
- package/dist/interface/assets/upload-ClkX9wUX.js +0 -1
- package/dist/interface/assets/useBackupRestore-Tc23Huvm.js +0 -1
- package/dist/interface/assets/useServerRestart-DoLrF47t.js +0 -1
- package/dist/interface/assets/useUpdateChannel-DWEw-ZyB.js +0 -1
- package/dist/interface/assets/useUserOptions-DCDeuz2p.js +0 -1
- package/dist/interface/assets/vendor-BaiDFVEr.js +0 -23
- package/dist/interface/assets/vendor-cameraui-4iwjOYwz.js +0 -2326
- package/dist/interface/assets/vendor-chart-DtwjR6yw.js +0 -3
- package/dist/interface/assets/vendor-core-gJradu21.js +0 -1
- package/dist/interface/assets/vendor-gridstack-qw2ro2uB.js +0 -3
- package/dist/interface/assets/vendor-markdown-Bw_90xkF.js +0 -14
- package/dist/interface/assets/vendor-vueflow-CLJNLJXc.js +0 -26
- package/dist/interface/assets/vendor-xterm-BafMBqaV.js +0 -91
- package/dist/interface/assets/web-BNRwhIOt.js +0 -1
- package/dist/interface/assets/web-BPkOXv4d.js +0 -1
- package/dist/interface/assets/web-BZIx_2d3.js +0 -1
- package/dist/interface/assets/web-BjKL51lK-BwChM7zd.js +0 -1
- package/dist/interface/assets/web-BkmtZjSt.js +0 -1
- package/dist/interface/assets/web-C6RgriWz.js +0 -1
- package/dist/interface/assets/web-CQFMLa0a.js +0 -1
- package/dist/interface/assets/web-CZGnd6VE.js +0 -1
- package/dist/interface/assets/web-Cfzay11X.js +0 -1
- package/dist/interface/assets/web-DAgBwKL-.js +0 -1
- package/dist/interface/assets/web-DgVHh5ek.js +0 -1
- package/dist/interface/assets/web-DlSXwZBR.js +0 -1
- package/dist/interface/assets/web-eDYxVGH7.js +0 -1
- package/dist/interface/assets/web-h4k3EoRQ.js +0 -1
- package/dist/interface/assets/workbox-window.prod.es5-CcJiPjAS.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{F as e,G as t,Pt as n,Rt as r,Wt as ee,zr as i}from"./vendor-cameraui-ZyqPntQ7.js";import{Ar as a,Cr as o,Dr as s,Pr as te,Sr as c,_t as ne,ct as l,er as re,gt as u,i as d,jr as f,kn as p,o as m,r as h,ut as ie,xr as ae,yr as g}from"./api-2VPaKkqc.js";import{$t as _,Cn as v,Dn as oe,J as se,Kn as y,Kt as b,Mn as x,Pn as ce,Rn as le,U as S,Xn as ue,Yn as C,an as w,b as de,dn as T,fn as E,gr as fe,hr as D,in as O,mn as pe,nr as me,on as k,rn as A,rr as j,sn as M,sr as N,v as P,y as F,yr as I}from"./vendor-AX0A8AMd.js";import{a as he}from"./intercomService-Bjn0OsVT.js";import{E as ge,V as L}from"./types-BHgaZSm2.js";import{n as _e,r as ve,t as ye}from"./lan-D9PCM8iA.js";import{K as be,L as xe,R as Se,a as Ce,j as we,l as Te,s as Ee,z as De}from"./vendor-primevue-DXXRO7Z5.js";import{t as Oe}from"./server-CaRDiFTF.js";import{t as ke}from"./api-COPnjVh2.js";import{t as Ae}from"./information-outline-CQ5e79wc.js";import{t as je}from"./CuiQRCode-CycvR5wz.js";var Me={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function R(e,t){return x(),M(`svg`,Me,[...t[0]||=[O(`path`,{fill:`currentColor`,d:`M20.454 21.87L17.612 19H6.5q-1.896 0-3.198-1.302T2 14.5q0-1.829 1.226-3.098t2.87-1.368q.018-.373.208-.925q.19-.553.438-.951l-3.88-3.881l.707-.708l17.593 17.593zm.454-3.812L8.78 5.937q.875-.523 1.612-.73T12 5q2.502 0 4.251 1.749T18 11v1h.616q1.436.046 2.41 1.055T22 15.5q0 .687-.25 1.332t-.842 1.226`},null,-1)]])}var Ne=j({name:`material-symbols-light-cloud-off`,render:R}),Pe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Fe(e,t){return x(),M(`svg`,Pe,[...t[0]||=[O(`path`,{fill:`currentColor`,d:`m9.55 18l-5.7-5.7l1.425-1.425L9.55 15.15l9.175-9.175L20.15 7.4z`},null,-1)]])}var Ie=j({name:`material-symbols-check`,render:Fe}),z={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Le(e,t){return x(),M(`svg`,z,[...t[0]||=[O(`path`,{fill:`currentColor`,d:`M20.5 16H15v-1h4c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h4v1H3.5c-.83 0-1.5.67-1.5 1.5v3c0 .83.67 1.5 1.5 1.5h17c.83 0 1.5-.67 1.5-1.5v-3c0-.83-.67-1.5-1.5-1.5M5 4h14v9H5zm10 16H5v-2h10zm3 0c-.55 0-1-.45-1-1s.45-1 1-1s1 .45 1 1s-.45 1-1 1`,class:`b`},null,-1)]])}var Re=j({name:`boxicons-computer-filled`,render:Le});async function ze({signal:e}){return(await a.get(`/remote`,{signal:e})).data}async function Be(e){return(await a.patch(`/remote`,e)).data}async function Ve(e){return(await a.post(`/remote/pair/init`,e?{name:e}:{})).data}async function He({name:e}={}){return(await a.post(`/remote/pair/poll`,e?{name:e}:{})).data}async function Ue(){await a.delete(`/remote/unregister`)}async function We({signal:e}){return(await a.get(`/remote/status`,{signal:e})).data}async function Ge(e){await a.patch(`/remote/name`,{name:e})}async function Ke({signal:e}){return(await a.get(`/remote/tunnel`,{signal:e})).data}async function qe({signal:e}={}){return(await a.get(`/remote/connection-info`,{signal:e})).data}async function B(e){return(await a.post(`/remote/test/${e}`)).data}async function Je({signal:e}={}){return(await a.get(`/remote/cloudflare/managed/status`,{signal:e})).data}async function Ye(e){await a.post(`/remote/cloudflare/managed/connect`,{hostname:e})}async function Xe(){await a.post(`/remote/cloudflare/managed/cancel`)}async function Ze(){await a.post(`/remote/cloudflare/managed/disconnect`)}async function Qe(){await a.post(`/remote/cloudflare/managed/logout`)}var $e=class{_queryClient=se();t=c.global.t;toast=ae();queryActivator=N([{name:`getRemoteInfoQuery`,enabled:!0},{name:`getRegistrationStatusQuery`,enabled:!0},{name:`getTunnelStatusQuery`,enabled:!0},{name:`getConnectionInfoQuery`,enabled:!0},{name:`getCloudflareManagedStatusQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getRemoteInfoQuery(){return g({queryKey:[`remote`],queryFn:({signal:e})=>ze({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getRemoteInfoQuery`&&e.enabled),staleTime:1e3})}patchRemoteInfoQuery(){return S({mutationFn:Be,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.remote_updated`),life:3e3})}})}getRegistrationStatusQuery(){return g({queryKey:[`remote`,`status`],queryFn:({signal:e})=>We({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getRegistrationStatusQuery`&&e.enabled),staleTime:1e3})}pairInitMutation(){return S({mutationFn:Ve})}pairPollMutation(){return S({mutationFn:He,onSuccess:async e=>{e.state===`confirmed`&&(await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`remote`,`status`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.remote_registered`),life:3e3}))}})}unregisterServerQuery(){return S({mutationFn:Ue,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`remote`,`status`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.remote_unregistered`),life:3e3})}})}getTunnelStatusQuery(){return g({queryKey:[`remote`,`tunnel`],queryFn:({signal:e})=>Ke({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getTunnelStatusQuery`&&e.enabled),refetchInterval:3e4,staleTime:1e4})}updateServerNameQuery(){return S({mutationFn:Ge,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`,`status`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.server_name_updated`),life:3e3})}})}getConnectionInfoQuery(){return g({queryKey:[`remote`,`connection-info`],queryFn:({signal:e})=>qe({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getConnectionInfoQuery`&&e.enabled),refetchInterval:1e4})}testRemoteModeMutation(){return S({mutationFn:B})}getCloudflareManagedStatusQuery(){return g({queryKey:[`remote`,`cloudflare`,`managed`],queryFn:({signal:e})=>Je({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getCloudflareManagedStatusQuery`&&e.enabled),refetchInterval:e=>{let t=e.state.data?.state;return t===`awaiting_login`||t===`creating_tunnel`||t===`setting_dns`?2e3:!1},refetchOnWindowFocus:!0,staleTime:1e3})}cloudflareManagedConnectMutation(){return S({mutationFn:Ye,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`,`cloudflare`,`managed`],exact:!0})}})}cloudflareManagedCancelMutation(){return S({mutationFn:Xe,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`,`cloudflare`,`managed`],exact:!0})}})}cloudflareManagedDisconnectMutation(){return S({mutationFn:Ze,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`remote`,`cloudflare`,`managed`],exact:!0})}})}cloudflareManagedLogoutMutation(){return S({mutationFn:Qe,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`remote`,`cloudflare`,`managed`],exact:!0})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}},et={class:`flex flex-col gap-6`},tt={class:`flex flex-col field-gap`},nt={class:`section-chip`},V={class:`text-sm font-bold text-color`},H={class:`flex flex-col field-gap`},U={class:`section-chip`},W={class:`text-sm text-color`},G={class:`flex flex-col field-gap`},K={class:`section-chip`},q={key:0,class:`text-sm text-muted`},rt={key:1,class:`flex flex-col gap-2`},J={class:`flex flex-col min-w-0`},Y={class:`text-sm text-color`},it={class:`text-xs text-muted break-all`},at=pe({__name:`ConnectionDetails`,props:{currentType:{},currentAddress:{}},setup(e,{expose:t}){let n=e,r=new ke,ee=ae(),{t:a}=i(),{data:o}=r.apiInfoQuery(),s=te()?f():void 0,c=h(),ne=A(()=>s?.attempts.rounds.value[0]),l=A(()=>s?.target.value?.endpoint.url??a(`components.connection_details.no_target`)),re=A(()=>{let e=s?.target.value?.endpoint;return e?p(e):a(`components.connection_details.no_target`)}),u=A(()=>ne.value?.attempts.map(e=>({...e,modeLabel:p({url:e.url,mode:e.mode})}))??[]);function p(e){return ve(e,c)?a(`components.connection_details.mode_lan`):a(`components.connection_details.mode_wan`)}function m(e){return e.outcome===`connected`&&e.url===l.value}function ie(e){return m(e)?`bg-green-500`:e.outcome===`failed`?`bg-red-500`:`bg-neutral-400`}function g(e){return e.durationMs===void 0?`…`:e.durationMs>=1e3?`${(e.durationMs/1e3).toFixed(1)} s`:`${e.durationMs} ms`}function v(e){return m(e)?a(`components.connection_details.outcome_connected`):e.outcome===`connected`?a(`components.connection_details.outcome_reachable`):e.outcome===`superseded`?a(`components.connection_details.outcome_superseded`):e.outcome===`pending`?a(`components.connection_details.outcome_pending`):e.reason?.includes(`timeout`)?a(`components.connection_details.outcome_timeout`):e.reason??a(`components.connection_details.outcome_failed`)}async function oe(){let e=[new Date().toISOString(),`camera.ui ${o.value?.version??`?`}`,``,`${re.value}: ${l.value}`,`server sees: ${n.currentType} ${n.currentAddress}`,``];for(let t of u.value)e.push(`${m(t)?`+`:`-`} ${t.modeLabel} ${t.url} ${g(t)} ${v(t)}`);if(ne.value?.reason&&e.push(``,ne.value.reason),await d(e.join(`
|
|
2
|
+
`))){ee.add({severity:`success`,detail:a(`components.connection_details.copied`),life:2e3});return}return ee.add({severity:`error`,detail:a(`components.connection_details.copy_failed`),life:3e3}),null}return t({onConfirm:oe}),(t,n)=>{let r=De;return x(),M(`div`,et,[O(`div`,tt,[O(`span`,nt,I(t.$t(`components.connection_details.current`)),1),O(`span`,V,I(D(re)),1),E(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint break-all`},{default:C(()=>[T(I(D(l)),1)]),_:1})]),O(`div`,H,[O(`span`,U,I(t.$t(`components.connection_details.server_view`)),1),O(`span`,W,I(e.currentType),1),E(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint break-all`},{default:C(()=>[T(I(e.currentAddress),1)]),_:1})]),O(`div`,G,[O(`span`,K,I(t.$t(`components.connection_details.last_attempt`)),1),D(u).length===0?(x(),M(`p`,q,I(t.$t(`components.connection_details.no_attempts`)),1)):(x(),M(`div`,rt,[(x(!0),M(_,null,ce(D(u),e=>(x(),M(`div`,{key:e.url,class:`flex items-start gap-3`},[O(`span`,{class:fe([`mt-1.5 w-2 h-2 rounded-full shrink-0`,ie(e)])},null,2),O(`div`,J,[O(`span`,Y,[T(I(e.modeLabel)+` `,1),n[0]||=O(`span`,{class:`text-muted`},`·`,-1),T(` `+I(g(e))+` `,1),n[1]||=O(`span`,{class:`text-muted`},`·`,-1),T(` `+I(v(e)),1)]),O(`span`,it,I(e.url),1)])]))),128))]))])])}}}),ot=L,st=ge,ct={class:`w-full h-full`},lt={key:0,class:`w-full h-full flex items-center justify-center`},ut={key:1,class:`flex flex-col w-full gap-6`},dt={key:0},ft={class:`card-title`},pt={class:`flex items-center gap-4`},mt={class:`flex flex-col field-switch-gap min-w-0`},ht={class:`text-sm font-bold text-color`},gt={class:`card-title`},_t={class:`flex flex-col gap-6`},vt={class:`flex items-center gap-4`},yt={class:`flex flex-col field-switch-gap`},bt={for:`enabled`,class:`cui-label-switch`},xt={class:`flex flex-col field-gap`},St={for:`serverName`,class:`cui-label`},Ct={class:`flex items-center gap-4`},wt={class:`flex flex-col field-switch-gap`},Tt={class:`text-sm`},Et={class:`ml-auto shrink-0`},Dt={key:1,class:`text-sm font-bold text-amber-500`},Ot={key:2,class:`text-sm font-bold`},kt={key:0,class:`flex items-center gap-4`},At={class:`flex flex-col field-switch-gap`},jt={class:`text-sm`},Mt={class:`ml-auto shrink-0`},Nt={key:`pairing`,class:`cui-toggle-switch flex flex-col gap-4`},Pt={class:`cui-pair-layout`},Ft={class:`cui-pair-qr`},It={class:`flex flex-col gap-4 flex-1 min-w-0`},Lt={class:`flex flex-col field-gap`},Rt={class:`cui-label`},zt={class:`flex flex-col field-gap`},Bt={class:`cui-label`},Vt={class:`flex items-center gap-3`},Ht={class:`text-sm`},Ut={class:`flex items-center gap-4`},Wt={class:`flex`},Gt={class:`card-title`},Kt={class:`flex flex-col gap-6`},qt={class:`flex items-center gap-4`},Jt={class:`flex flex-col field-switch-gap`},Yt={for:`directEnabled`,class:`cui-label-switch`},Xt={class:`flex flex-col field-gap`},Zt={class:`cui-label`},Qt={for:`directMode`,class:`cui-label`},$t={key:0,class:`cui-toggle-switch flex flex-col gap-4`},en={class:`flex flex-col field-gap`},tn={for:`cloudflareVariant`,class:`cui-label`},nn={key:0,class:`flex items-center gap-3`},rn={class:`flex flex-col field-gap`},an={for:`cloudflareHostname`,class:`cui-label`},on={class:`flex flex-col field-gap`},sn={for:`cloudflareToken`,class:`cui-label`},cn={class:`flex items-center gap-3`},ln={class:`flex flex-col field-gap`},un={for:`cloudflareHostnameManaged`,class:`cui-label`},dn={class:`flex items-center gap-3`},fn={key:0,class:`cf-login-setup`},pn={class:`cf-login-qr`},mn={class:`flex flex-col gap-4 flex-1 min-w-0`},hn={class:`flex flex-col field-gap`},gn={class:`cui-label`},_n={class:`flex items-center gap-3`},vn={class:`text-sm`},yn={key:1,class:`flex items-center gap-3`},bn={class:`text-sm`},xn={key:2,class:`flex items-center gap-3`},Sn={class:`text-sm`},Cn={class:`flex flex-col field-gap`},wn={class:`cui-label`},Tn={key:0,class:`flex flex-col field-gap`},En={class:`cui-label`},Dn={class:`flex items-center gap-3`},On={key:1,class:`cui-toggle-switch flex flex-col gap-4`},kn={for:`customDomain.url`,class:`cui-label`},An={class:`flex items-center gap-3`},jn={class:`card-title`},Mn={class:`flex flex-col gap-6`},Nn={class:`text-sm`},Pn={for:`serverAddresses`,class:`cui-label`},Fn={for:`localUrl`,class:`cui-label`},In=p(pe({__name:`SettingsRemote`,setup(a){let te=new Oe,c=new $e,f=he(),p=l(),h=ae(),{t:g}=i(),{endpoint:se,isOnline:ce}=o(),{data:S,isBusy:pe}=te.getServerInfoQuery(),{data:j,isBusy:ge}=c.getRemoteInfoQuery(),{data:L,isBusy:ve}=c.getRegistrationStatusQuery(),{data:ke,isLoading:Me}=c.getTunnelStatusQuery(),{data:R}=c.getConnectionInfoQuery(),{mutateAsync:Pe,isPending:Fe}=te.patchSystemInfoQuery(),{mutateAsync:z,isPending:Le}=c.patchRemoteInfoQuery(),{mutateAsync:ze,isPending:Be}=c.pairInitMutation(),{mutateAsync:Ve}=c.pairPollMutation(),{mutateAsync:He,isPending:Ue}=c.unregisterServerQuery(),{mutateAsync:We,isPending:Ge}=c.updateServerNameQuery(),{mutateAsync:Ke,isPending:qe}=c.testRemoteModeMutation(),{data:B}=c.getCloudflareManagedStatusQuery(),{mutateAsync:Je,isPending:Ye}=c.cloudflareManagedConnectMutation(),{mutateAsync:Xe,isPending:Ze}=c.cloudflareManagedCancelMutation(),{mutateAsync:Qe,isPending:et}=c.cloudflareManagedDisconnectMutation(),{mutateAsync:tt,isPending:nt}=c.cloudflareManagedLogoutMutation(),V=N(),H=N(),U=N(``),W=N(``),G=N(`quick`),K=N(``),q=N(``),rt=N(!1),J=N(null),Y=N(``),it=N(null),In=N(2),Ln=N(``),Rn=null,zn=null,X=A(()=>Fe.value||Le.value||pe.value||ge.value||ve.value||Ue.value),Bn=A(()=>!!(H.value?.enabled||H.value?.directEnabled)),Vn=A(()=>j.value?.directOverride??{active:!1,fallback:!1}),Z=A(()=>L.value?.isRegistered??!1),Hn=A(()=>L.value?.needsReauth??!1),Un=A(()=>!X.value),Wn=A(()=>{if(!Un.value)return!1;let e=U.value.trim();return!e||e.length>100?!1:e!==(L.value?.serverName??``)}),Gn=A(()=>{if(!H.value)return!1;if(H.value.directMode===`customDomain`){let e=W.value.trim();if(!e)return!1;try{new URL(e)}catch{return!1}return e!==(j.value?.remoteSettings.customDomain.url??``)}if(H.value.directMode===`cloudflare`){let e=j.value?.remoteSettings.cloudflare,t=j.value?.remoteSettings.directMode!==`cloudflare`,n=G.value;if(n===`quick`)return t||e?.mode!==`quick`;let r=K.value.trim();if(!r||!/^[a-z0-9.-]+\.[a-z]{2,}$/i.test(r))return!1;if(n===`token`){let n=q.value.trim();if(!n&&!rt.value)return!1;let ee=n.length>0;return t||e?.mode!==`token`||e?.hostname!==r||ee}return n===`managed`?t||e?.mode!==`managed`||e?.hostname!==r:!1}return H.value.directMode!==j.value?.remoteSettings.directMode}),Kn=A(()=>[{value:`cloudflare`,label:g(`components.form.label.cloudflare`),description:g(`components.form.hint.cloudflare_mode_info`)},{value:`customDomain`,label:g(`components.form.label.custom_domain`),description:g(`components.form.hint.custom_domain_mode_info`)}]),qn=A(()=>Kn.value.find(e=>e.value===H.value?.directMode)?.description??``),Jn=A(()=>[{value:`quick`,label:g(`components.form.label.cloudflare_variant_quick`),description:g(`components.form.hint.cloudflare_variant_quick`)},{value:`token`,label:g(`components.form.label.cloudflare_variant_token`),description:g(`components.form.hint.cloudflare_variant_token`)},{value:`managed`,label:g(`components.form.label.cloudflare_variant_managed`),description:g(`components.form.hint.cloudflare_variant_managed`)}]),Yn=A(()=>Jn.value.find(e=>e.value===G.value)?.description??``),Xn=A(()=>{if(G.value===`quick`)return!0;let e=j.value?.remoteSettings.cloudflare;return e?.mode===G.value&&!!e?.hostname}),Q=A(()=>B.value?.state??`idle`),Zn=A(()=>{if(Q.value!==`idle`)return!1;let e=K.value.trim();return!!e&&/^[a-z0-9.-]+\.[a-z]{2,}$/i.test(e)}),Qn=A(()=>{let e=R.value?.currentConnection.type??`lan`;return g(`views.settings.connection_type.${e}`)}),$n=A(()=>{let e=R.value?.currentConnection.type;return e===`external`?_e:e===`local`?Re:ye}),er=A(()=>{let e=R.value?.currentConnection.type;return e===`external`?`text-info`:e===`local`?`text-primary`:`text-success`});function tr(){p.openComponentDialog(at,{data:{title:g(`components.connection_details.title`),confirmText:g(`components.connection_details.copy`),cancelText:g(`components.form.button.close`),contentProps:{currentType:Qn,currentAddress:A(()=>R.value?.currentConnection.address??``)}}})}async function nr(){let e=U.value.trim();if(e)try{await We(e)}catch{}}function rr(){p.openTextDialog({data:{title:g(`components.dialog.title.unregister_server`),confirmText:g(`components.form.button.unregister`),contentText:g(`components.dialog.message.confirm_unregister_server`),loading:X},onConfirm:async()=>{try{await He()}catch{}}})}function ir(){Rn&&=(clearTimeout(Rn),null),zn&&=(clearInterval(zn),null)}function $(){ir(),J.value=null,Y.value=``,it.value=null,Ln.value=``}function ar(e){let t=Math.max(0,Math.floor(e/1e3));return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}function or(){zn&&clearInterval(zn);let e=()=>{if(!it.value)return;let e=it.value-Date.now();if(e<=0){$(),h.add({severity:`warn`,detail:g(`components.toast.pair_expired`),life:3e3});return}Ln.value=ar(e)};e(),zn=setInterval(e,1e3)}function sr(){Rn&&clearTimeout(Rn),Rn=setTimeout(cr,In.value*1e3)}async function cr(){if(!J.value)return;let e=J.value;try{let t=await Ve({name:U.value.trim()||void 0});if(!J.value||J.value!==e)return;if(t.state===`confirmed`){$();return}if(t.state===`expired`){$(),h.add({severity:`warn`,detail:g(`components.toast.pair_expired`),life:3e3});return}if(t.state===`denied`){$(),h.add({severity:`warn`,detail:g(`components.toast.pair_denied`),life:3e3});return}t.state===`slow_down`&&(In.value=Math.min(In.value+2,10)),sr()}catch(t){if(!J.value||J.value!==e)return;f.error(`pair poll failed:`,t),sr()}}async function lr(){$();try{let e=U.value.trim();if(e&&e!==(L.value?.serverName??``))try{await We(e)}catch{}let t=await ze(e||void 0);J.value=t.userCode,Y.value=t.verificationUriComplete,it.value=Date.now()+t.expiresIn*1e3,In.value=Math.max(1,t.pollInterval),or(),sr()}catch(e){h.add({severity:`error`,detail:e,life:3e3})}}function ur(){$()}async function dr(){if(J.value)try{await d(J.value)}catch{}}async function fr(){if(Y.value)try{await d(Y.value)}catch{}}function pr(){Y.value&&window.open(Y.value,`_blank`,`noopener`)}function mr(e){let t=window.location.host===s||!1,n;n=e?`components.dialog.message.confirm_enable_cloud`:t?`components.dialog.message.confirm_disable_cloud_remote`:`components.dialog.message.confirm_disable_cloud_local`,p.openTextDialog({data:{title:g(`components.dialog.title.confirm`),contentText:g(n),confirmText:g(e?`components.form.button.enable`:`components.form.button.disable`),loading:X,confirmButtonProps:e?void 0:{severity:`danger`}},onConfirm:async()=>{try{await z(e?{enabled:!0}:{enabled:!1})}catch{H.value&&(H.value.enabled=!e)}},onCancel:()=>{H.value&&(H.value.enabled=!e)}})}function hr(e){z({directEnabled:e}).catch(()=>{H.value&&(H.value.directEnabled=!e)})}function gr(e){H.value&&(H.value.directMode=e)}function _r(e){G.value=e}async function vr(){let e=K.value.trim();if(e)try{await z({directMode:`cloudflare`,cloudflare:{mode:`managed`,hostname:e}}),await Je(e)}catch{}}async function yr(){try{await Xe()}catch{}}async function br(){try{await Qe()}catch{}}async function xr(){try{await tt()}catch{}}async function Sr(e){try{await d(e)}catch{}}function Cr(e){window.open(e,`_blank`,`noopener`)}async function wr(e){try{let t=await Ke(e);t.ok?h.add({severity:`success`,detail:g(`components.toast.remote_test_success`),life:3e3}):h.add({severity:`error`,detail:g(`components.toast.remote_test_failed`,{message:t.message??``}),life:5e3})}catch(e){h.add({severity:`error`,detail:g(`components.toast.remote_test_failed`,{message:e?.message??``}),life:5e3})}}async function Tr(e){let t={directMode:e.directMode};if(e.directMode===`customDomain`)t.customDomain={url:W.value.trim()};else if(e.directMode===`cloudflare`){let e=G.value;if(e===`quick`)t.cloudflare={mode:`quick`,hostname:null,token:null};else if(e===`token`){let e=q.value.trim();t.cloudflare={mode:`token`,hostname:K.value.trim(),...e?{token:e}:{}}}else e===`managed`&&(t.cloudflare={mode:`managed`,hostname:K.value.trim(),token:null})}try{await z(t)}catch{}}async function Er(e){try{await Pe(e)}catch{}}return y(()=>L.value?.serverName,e=>{e&&(U.value=e)},{immediate:!0}),y(Z,e=>{e&&J.value&&$()}),y([ce,se],([e])=>{e&&c.queryClient.refetchQueries({queryKey:[`remote`,`connection-info`],exact:!0})}),y(S,e=>{if(e){let t=m(e);V.value={...t,serverAddresses:(t.serverAddresses||[]).filter(Boolean),localUrl:t.localUrl??``}}},{deep:!0,immediate:!0}),y(j,e=>{if(e){let t=m(e);H.value={...t.remoteSettings},W.value=t.remoteSettings.customDomain.url??``;let n=t.remoteSettings.cloudflare;G.value=n?.mode??`quick`,K.value=n?.hostname??``,q.value=``,rt.value=t.cloudflareTokenSet??!1}},{deep:!0,immediate:!0}),oe(()=>{ir()}),(i,a)=>{let o=n,s=De,te=Ae,c=r,l=t,d=be,f=e,p=Ie,m=xe,h=Se,ae=Ce,g=je,oe=ne,se=re,y=Ne,ce=we,pe=Ee,A=Te,j=ee;return x(),M(`div`,ct,[!D(V)||!D(H)?(x(),M(`div`,lt,[E(o,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(x(),M(`div`,ut,[D(R)?(x(),M(`div`,dt,[O(`span`,ft,I(i.$t(`views.settings.connection_status`)),1),E(l,{class:`cui-card`},{content:C(()=>[O(`div`,pt,[(x(),w(le(D($n)),{class:fe([`shrink-0 w-6 h-6`,D(er)])},null,8,[`class`])),O(`div`,mt,[O(`span`,ht,I(D(Qn)),1),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint truncate`},{default:C(()=>[T(I(D(R).currentConnection.address),1)]),_:1})]),ue((x(),w(c,{rounded:``,text:``,severity:`secondary`,class:`ml-auto shrink-0`,"aria-label":i.$t(`components.connection_details.title`),onClick:tr},{icon:C(()=>[E(te,{class:`w-5 h-5`})]),_:1},8,[`aria-label`])),[[j,{value:i.$t(`components.connection_details.title`)},void 0,{left:!0}]])])]),_:1})])):k(``,!0),E(D(de),{ref:`remoteFormRef`,class:`flex flex-col w-full gap-6`,"validation-schema":D(ot),onSubmit:a[18]||=e=>Tr(e)},{default:C(()=>[O(`div`,null,[O(`span`,gt,I(i.$t(`views.settings.cloud`)),1),E(l,{class:`cui-card`},{content:C(()=>[O(`div`,_t,[E(D(F),{"model-value":D(H).enabled,value:!0,"unchecked-value":!1,type:`checkbox`,name:`enabled`,as:`div`,class:`flex flex-col field-gap cui-toggle-switch`},{default:C(({field:e,errors:t})=>[O(`div`,vt,[O(`div`,yt,[O(`label`,bt,I(i.$t(`components.form.label.enabled`)),1),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:C(()=>[T(I(i.$t(`components.form.hint.cloud_access_enabled_info`)),1)]),_:1}),E(b,{name:`fade`},{default:C(()=>[E(D(P),{name:`enabled`,class:`cui-input-switch-error`})]),_:1})]),E(d,v({"model-value":D(H).enabled},e,{invalid:t.length>0,loading:D(X),class:`ml-auto shrink-0`,onValueChange:a[0]||=e=>D(H).enabled=e,"onUpdate:modelValue":a[1]||=e=>mr(e)}),null,16,[`model-value`,`invalid`,`loading`])])]),_:1},8,[`model-value`]),O(`div`,xt,[O(`label`,St,I(i.$t(`views.settings.server_name_label`)),1),E(h,null,{default:C(()=>[E(f,{id:`serverName`,modelValue:D(U),"onUpdate:modelValue":a[2]||=e=>me(U)?U.value=e:null,modelModifiers:{trim:!0},disabled:!D(Un),loading:D(X),type:`text`,maxlength:100},null,8,[`modelValue`,`disabled`,`loading`]),E(m,null,{default:C(()=>[ue((x(),w(c,{text:``,severity:`secondary`,loading:D(Ge),disabled:!D(Wn),type:`button`,onClick:nr},{icon:C(()=>[E(p)]),_:1},8,[`loading`,`disabled`])),[[j,{value:i.$t(`components.form.button.save`)}]])]),_:1})]),_:1}),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:C(()=>[T(I(i.$t(`views.settings.server_name_info`)),1)]),_:1})]),O(`div`,Ct,[O(`div`,wt,[O(`span`,Tt,I(i.$t(`views.settings.status`)),1),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:C(()=>[T(I(i.$t(`views.settings.status_info`)),1)]),_:1})]),O(`div`,Et,[D(X)?(x(),w(o,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):D(Hn)?(x(),M(`span`,Dt,I(i.$t(`views.settings.needs_reauth`)),1)):(x(),M(`span`,Ot,I(D(Z)?i.$t(`views.settings.registered`):i.$t(`views.settings.not_registered`)),1))])]),D(Z)?(x(),M(`div`,kt,[O(`div`,At,[O(`span`,jt,I(i.$t(`views.settings.tunnel_status`)),1),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:C(()=>[T(I(i.$t(`views.settings.tunnel_status_info`)),1)]),_:1})]),O(`div`,Mt,[D(Me)?(x(),w(o,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(x(),w(ae,{key:1,severity:D(ke)?.connected?`success`:`secondary`,value:D(ke)?.connected?i.$t(`views.settings.tunnel_connected`):i.$t(`views.settings.tunnel_disconnected`)},null,8,[`severity`,`value`]))])])):k(``,!0),E(b,{name:`fade`,mode:`out-in`},{default:C(()=>[D(J)?(x(),M(`div`,Nt,[E(s,{severity:`error`,variant:`simple`,size:`small`,class:`text-primary`},{default:C(()=>[T(I(i.$t(`views.settings.pair_instructions`)),1)]),_:1}),O(`div`,Pt,[O(`div`,Ft,[E(g,{value:D(Y),size:180,"logo-size":36},null,8,[`value`])]),O(`div`,It,[O(`div`,Lt,[O(`label`,Rt,I(i.$t(`views.settings.pair_code`)),1),E(h,null,{default:C(()=>[E(f,{"model-value":D(J),readonly:``,class:`font-mono text-lg text-center tracking-widest`},null,8,[`model-value`]),E(m,null,{default:C(()=>[E(oe,{"action-text":i.$t(`components.form.tooltip.copied`),icon:D(u),"button-props":{severity:`secondary`,text:!0},onAction:dr},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:C(()=>[T(I(i.$t(`views.settings.pair_code_hint`)),1)]),_:1})]),O(`div`,zt,[O(`label`,Bt,I(i.$t(`views.settings.pair_url`)),1),E(h,null,{default:C(()=>[E(f,{"model-value":D(Y),readonly:``,class:`font-mono text-sm`},null,8,[`model-value`]),E(m,null,{default:C(()=>[E(oe,{"action-text":i.$t(`components.form.tooltip.copied`),icon:D(u),"button-props":{severity:`secondary`,text:!0},onAction:fr},null,8,[`action-text`,`icon`])]),_:1}),E(m,null,{default:C(()=>[ue((x(),w(c,{type:`button`,severity:`secondary`,text:``,onClick:pr},{icon:C(()=>[E(D(ie))]),_:1})),[[j,{value:i.$t(`components.form.button.open_in_browser`)}]])]),_:1})]),_:1})]),O(`div`,Vt,[E(o,{class:`w-[20px] h-[20px] m-0`,"stroke-width":`5`}),O(`span`,Ht,I(i.$t(`views.settings.pair_waiting`,{remaining:D(Ln)})),1),E(c,{type:`button`,severity:`secondary`,class:`cui-button-small ml-auto`,label:i.$t(`components.form.button.cancel`),onClick:ur},null,8,[`label`])])])])])):k(``,!0)]),_:1}),O(`div`,Ut,[O(`div`,Wt,[ue((x(),w(c,{severity:`secondary`,rounded:``,class:`cui-icon-lg text-color`,disabled:!D(Z),onClick:a[3]||=e=>i.$router.absUrl(D(`https://cloud.cameraui.com`),!0)},{icon:C(()=>[D(Z)?(x(),w(se,{key:0,width:`100%`,height:`100%`})):(x(),w(y,{key:1,width:`100%`,height:`100%`}))]),_:1},8,[`disabled`])),[[j,{value:D(Z)?i.$t(`views.settings.registered`):i.$t(`views.settings.not_registered`)}]])]),a[22]||=O(`div`,{class:`ml-auto`},null,-1),!D(Z)&&!D(J)?(x(),w(c,{key:0,loading:D(Be),class:`cui-button-medium`,label:i.$t(`components.form.button.register_server`),onClick:lr},null,8,[`loading`,`label`])):k(``,!0),D(Hn)&&!D(J)?(x(),w(c,{key:1,loading:D(Be),severity:`warn`,class:`cui-button-medium`,label:i.$t(`components.form.button.reconnect_server`),onClick:lr},null,8,[`loading`,`label`])):k(``,!0),D(Z)?(x(),w(c,{key:2,loading:D(X),severity:D(Hn)?`secondary`:void 0,text:D(Hn),class:`cui-button-medium`,label:i.$t(`components.form.button.unregister_server`),onClick:rr},null,8,[`loading`,`severity`,`text`,`label`])):k(``,!0)])])]),_:1})]),O(`div`,null,[O(`span`,Gt,I(i.$t(`views.settings.direct_connection`)),1),E(l,{class:`cui-card`},{content:C(()=>[O(`div`,Kt,[E(D(F),{"model-value":D(H).directEnabled,value:!0,"unchecked-value":!1,type:`checkbox`,name:`directEnabled`,as:`div`,class:`flex flex-col field-gap cui-toggle-switch`},{default:C(({field:e,errors:t})=>[O(`div`,qt,[O(`div`,Jt,[O(`label`,Yt,I(i.$t(`components.form.label.enabled`)),1),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:C(()=>[T(I(i.$t(`views.settings.direct_connection_info`)),1)]),_:1}),E(b,{name:`fade`},{default:C(()=>[E(D(P),{name:`directEnabled`,class:`cui-input-switch-error`})]),_:1})]),E(d,v({"model-value":D(Bn)},e,{invalid:t.length>0,loading:D(X),disabled:D(H).enabled,class:`ml-auto shrink-0`,onValueChange:a[4]||=e=>D(H).directEnabled=e,"onUpdate:modelValue":a[5]||=e=>hr(e)}),null,16,[`model-value`,`invalid`,`loading`,`disabled`])]),E(b,{name:`fade`},{default:C(()=>[D(Vn).active?(x(),w(s,{key:0,variant:`simple`,size:`small`,class:`cui-input-switch-hint text-primary`},{default:C(()=>[T(I(D(Vn).fallback?i.$t(`views.settings.direct_override_fallback`):i.$t(`views.settings.direct_override_active`)),1)]),_:1})):k(``,!0)]),_:1})]),_:1},8,[`model-value`]),D(Bn)?(x(),M(_,{key:0},[O(`div`,Xt,[O(`label`,Zt,I(i.$t(`views.settings.external_url`)),1),E(f,{readonly:``,type:`text`,value:D(R)?.externalUrl??i.$t(`components.form.label.disconnected`)},null,8,[`value`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:C(()=>[T(I(i.$t(`views.settings.external_url_info`)),1)]),_:1})]),E(D(F),{"model-value":D(H).directMode,name:`directMode`,as:`div`,class:`flex flex-col field-gap`},{default:C(({errors:e})=>[O(`label`,Qt,I(i.$t(`views.settings.connection_method`)),1),E(ce,{"model-value":D(H).directMode,options:D(Kn),"option-label":`label`,"option-value":`value`,invalid:e.length>0,loading:D(X),"onUpdate:modelValue":a[6]||=e=>gr(e)},null,8,[`model-value`,`options`,`invalid`,`loading`]),E(b,{name:`fade`},{default:C(()=>[E(D(P),{name:`directMode`,class:`cui-input-error`})]),_:1}),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:C(()=>[T(I(D(qn)),1)]),_:1})]),_:1},8,[`model-value`]),D(H).directMode===`cloudflare`?(x(),M(`div`,$t,[O(`div`,en,[O(`label`,tn,I(i.$t(`components.form.label.cloudflare_variant`)),1),E(ce,{"model-value":D(G),options:D(Jn),"option-label":`label`,"option-value":`value`,loading:D(X),"onUpdate:modelValue":a[7]||=e=>_r(e)},null,8,[`model-value`,`options`,`loading`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:C(()=>[T(I(D(Yn)),1)]),_:1})]),D(G)===`quick`?(x(),M(`div`,nn,[E(c,{type:`button`,severity:`secondary`,loading:D(qe),class:`cui-button-small`,label:i.$t(`components.form.button.test_connection`),onClick:a[8]||=e=>wr(`cloudflare`)},null,8,[`loading`,`label`])])):D(G)===`token`?(x(),M(_,{key:1},[O(`div`,rn,[O(`label`,an,I(i.$t(`components.form.label.hostname`)),1),E(f,{id:`cloudflareHostname`,modelValue:D(K),"onUpdate:modelValue":a[9]||=e=>me(K)?K.value=e:null,modelModifiers:{trim:!0},loading:D(X),type:`text`,placeholder:`nvr.example.com`,maxlength:253},null,8,[`modelValue`,`loading`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:C(()=>[T(I(i.$t(`components.form.hint.cloudflare_hostname_info`)),1)]),_:1})]),O(`div`,on,[O(`label`,sn,I(i.$t(`components.form.label.tunnel_token`)),1),E(pe,{id:`cloudflareToken`,modelValue:D(q),"onUpdate:modelValue":a[10]||=e=>me(q)?q.value=e:null,modelModifiers:{trim:!0},loading:D(X),feedback:!1,"toggle-mask":``,fluid:``,placeholder:D(rt)?`••••••••••••`:`eyJ...`},null,8,[`modelValue`,`loading`,`placeholder`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:C(()=>[T(I(D(rt)?i.$t(`components.form.hint.cloudflare_token_already_set`):i.$t(`components.form.hint.cloudflare_token_info`)),1)]),_:1})]),O(`div`,cn,[E(c,{type:`button`,severity:`secondary`,loading:D(qe),disabled:!D(Xn),class:`cui-button-small`,label:i.$t(`components.form.button.test_connection`),onClick:a[11]||=e=>wr(`cloudflare`)},null,8,[`loading`,`disabled`,`label`])])],64)):D(G)===`managed`?(x(),w(b,{key:2,name:`fade`,mode:`out-in`},{default:C(()=>[(x(),M(`div`,{key:D(Q),class:`flex flex-col gap-4`},[D(Q)===`idle`?(x(),M(_,{key:0},[O(`div`,ln,[O(`label`,un,I(i.$t(`components.form.label.hostname`)),1),E(f,{id:`cloudflareHostnameManaged`,modelValue:D(K),"onUpdate:modelValue":a[12]||=e=>me(K)?K.value=e:null,modelModifiers:{trim:!0},loading:D(X),type:`text`,placeholder:`nvr.example.com`,maxlength:253},null,8,[`modelValue`,`loading`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:C(()=>[T(I(i.$t(`components.form.hint.cloudflare_hostname_info`)),1)]),_:1})]),D(B)?.lastError?(x(),w(s,{key:0,severity:`error`,variant:`simple`,size:`small`},{default:C(()=>[T(I(D(B).lastError),1)]),_:1})):k(``,!0),O(`div`,dn,[E(c,{type:`button`,loading:D(Ye),disabled:!D(Zn),class:`cui-button-medium`,label:i.$t(`components.form.button.connect_cloudflare`),onClick:vr},null,8,[`loading`,`disabled`,`label`])])],64)):D(Q)===`awaiting_login`?(x(),M(_,{key:1},[D(B)?.loginUrl?(x(),M(`div`,fn,[O(`div`,pn,[E(g,{value:D(B).loginUrl,size:160,"logo-size":32},null,8,[`value`])]),O(`div`,mn,[E(s,{variant:`simple`,size:`small`,class:`text-primary`},{default:C(()=>[T(I(i.$t(`components.form.hint.cloudflare_managed_awaiting_login`,{hostname:D(K)})),1)]),_:1}),O(`div`,hn,[O(`label`,gn,I(i.$t(`components.form.label.cloudflare_url`)),1),E(h,null,{default:C(()=>[E(f,{"model-value":D(B).loginUrl,readonly:``,class:`font-mono text-sm`},null,8,[`model-value`]),E(m,null,{default:C(()=>[E(oe,{"action-text":i.$t(`components.form.tooltip.copied`),icon:D(u),"button-props":{severity:`secondary`,text:!0},onAction:a[13]||=e=>Sr(D(B).loginUrl)},null,8,[`action-text`,`icon`])]),_:1}),E(m,null,{default:C(()=>[ue((x(),w(c,{type:`button`,severity:`secondary`,text:``,onClick:a[14]||=e=>Cr(D(B).loginUrl)},{icon:C(()=>[E(D(ie))]),_:1})),[[j,{value:i.$t(`components.form.button.open_in_browser`)}]])]),_:1})]),_:1})]),O(`div`,_n,[E(o,{class:`w-[20px] h-[20px] m-0`,"stroke-width":`5`}),O(`span`,vn,I(i.$t(`views.settings.cloudflare_login_waiting`)),1),E(c,{type:`button`,severity:`secondary`,loading:D(Ze),class:`cui-button-small ml-auto`,label:i.$t(`components.form.button.cancel`),onClick:yr},null,8,[`loading`,`label`])])])])):(x(),M(`div`,yn,[E(o,{class:`w-[20px] h-[20px] m-0`,"stroke-width":`5`}),O(`span`,bn,I(i.$t(`views.settings.cloudflare_login_waiting`)),1),E(c,{type:`button`,severity:`secondary`,loading:D(Ze),class:`cui-button-small ml-auto`,label:i.$t(`components.form.button.cancel`),onClick:yr},null,8,[`loading`,`label`])]))],64)):D(Q)===`creating_tunnel`||D(Q)===`setting_dns`?(x(),M(`div`,xn,[E(o,{class:`w-[20px] h-[20px] m-0`,"stroke-width":`5`}),O(`span`,Sn,I(D(Q)===`creating_tunnel`?i.$t(`components.form.hint.cloudflare_managed_creating_tunnel`):i.$t(`components.form.hint.cloudflare_managed_setting_dns`,{hostname:D(K)})),1),E(c,{type:`button`,severity:`secondary`,loading:D(Ze),class:`cui-button-small ml-auto`,label:i.$t(`components.form.button.cancel`),onClick:yr},null,8,[`loading`,`label`])])):D(Q)===`running`?(x(),M(_,{key:3},[O(`div`,Cn,[O(`label`,wn,I(i.$t(`components.form.label.hostname`)),1),E(f,{readonly:``,value:`https://${D(B)?.hostname??``}`,type:`text`},null,8,[`value`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:C(()=>[T(I(i.$t(`components.form.hint.cloudflare_hostname_info`)),1)]),_:1})]),D(B)?.tunnelId?(x(),M(`div`,Tn,[O(`label`,En,I(i.$t(`components.form.label.tunnel_id`)),1),E(f,{readonly:``,value:D(B).tunnelId,type:`text`},null,8,[`value`]),E(s,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:C(()=>[T(I(i.$t(`components.form.hint.cloudflare_tunnel_id_info`)),1)]),_:1})])):k(``,!0),O(`div`,Dn,[E(c,{type:`button`,severity:`secondary`,loading:D(qe),class:`cui-button-small`,label:i.$t(`components.form.button.test_connection`),onClick:a[15]||=e=>wr(`cloudflare`)},null,8,[`loading`,`label`]),E(c,{type:`button`,severity:`secondary`,loading:D(et),class:`cui-button-small ml-auto`,label:i.$t(`components.form.button.disconnect`),onClick:br},null,8,[`loading`,`label`]),E(c,{type:`button`,severity:`danger`,loading:D(nt),class:`cui-button-small`,label:i.$t(`components.form.button.logout`),onClick:xr},null,8,[`loading`,`label`])])],64)):k(``,!0)]))]),_:1})):k(``,!0)])):D(H).directMode===`customDomain`?(x(),M(`div`,On,[E(D(F),{modelValue:D(W),"onUpdate:modelValue":a[16]||=e=>me(W)?W.value=e:null,modelModifiers:{trim:!0},loading:D(X),name:`customDomain.url`,as:`div`,class:`flex flex-col field-gap`},{default:C(({field:e,errors:t})=>[O(`label`,kn,I(i.$t(`components.form.label.url`)),1),E(f,v(e,{invalid:t.length>0,loading:D(X),type:`text`,placeholder:`https://my.example.com`}),null,16,[`invalid`,`loading`]),E(b,{name:`fade`},{default:C(()=>[E(D(P),{name:`customDomain.url`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`,`loading`]),O(`div`,An,[E(c,{type:`button`,severity:`secondary`,loading:D(qe),disabled:!D(W),class:`cui-button-small`,label:i.$t(`components.form.button.test_connection`),onClick:a[17]||=e=>wr(`customDomain`)},null,8,[`loading`,`disabled`,`label`])])])):k(``,!0),E(c,{type:`submit`,loading:D(X),disabled:!D(Gn),class:`cui-button-medium ml-auto`,label:i.$t(`components.form.button.save`)},null,8,[`loading`,`disabled`,`label`])],64)):k(``,!0)])]),_:1})])]),_:1},8,[`validation-schema`]),E(D(de),{ref:`serverFormRef`,class:`flex flex-col w-full gap-6`,"validation-schema":D(st),onSubmit:a[21]||=e=>Er(e)},{default:C(()=>[O(`div`,null,[O(`span`,jn,I(i.$t(`views.settings.network`)),1),E(l,{class:`cui-card`},{content:C(()=>[O(`div`,Mn,[O(`span`,Nn,I(i.$t(`views.settings.network_info`)),1),E(D(F),{"model-value":D(V).serverAddresses,name:`serverAddresses`,as:`div`,class:`flex flex-col field-gap`},{default:C(({field:e,errors:t})=>[O(`label`,Pn,I(i.$t(`components.form.label.server_addresses`)),1),E(h,null,{default:C(()=>[E(A,v(e,{"model-value":D(V).serverAddresses,options:D(S)?.availableAddresses||[],invalid:t.length>0,loading:D(X),"max-selected-labels":2,"show-toggle-all":!1,"show-clear":``,"option-label":`address`,"option-value":`address`,type:`text`,display:`chip`,onValueChange:a[19]||=e=>D(V).serverAddresses=e}),null,16,[`model-value`,`options`,`invalid`,`loading`])]),_:2},1024),E(b,{name:`fade`},{default:C(()=>[E(D(P),{name:`serverAddresses`,class:`cui-input-error`})]),_:1}),t.length?k(``,!0):(x(),w(s,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:C(()=>[T(I(i.$t(`components.form.hint.server_addresses`)),1)]),_:1}))]),_:1},8,[`model-value`]),E(D(F),{"model-value":D(V).localUrl,name:`localUrl`,as:`div`,class:`flex flex-col field-gap`},{default:C(({field:e,errors:t})=>[O(`label`,Fn,I(i.$t(`components.form.label.local_url`)),1),E(h,null,{default:C(()=>[E(f,v(e,{"model-value":D(V).localUrl,invalid:t.length>0,loading:D(X),placeholder:`https://camera.home.lan`,onValueChange:a[20]||=e=>D(V).localUrl=e}),null,16,[`model-value`,`invalid`,`loading`])]),_:2},1024),E(b,{name:`fade`},{default:C(()=>[E(D(P),{name:`localUrl`,class:`cui-input-error`})]),_:1}),t.length?k(``,!0):(x(),w(s,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:C(()=>[T(I(i.$t(`components.form.hint.local_url`)),1)]),_:1}))]),_:1},8,[`model-value`]),E(c,{type:`submit`,loading:D(X),class:`cui-button-medium ml-auto`,label:i.$t(`components.form.button.save`)},null,8,[`loading`,`label`])])]),_:1})])]),_:1},8,[`validation-schema`])]))])}}}),[[`__scopeId`,`data-v-456d32b5`]]);export{In as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./VersionsHandler-C_mzsgfj.js","./vendor-cameraui-ZyqPntQ7.js","./rolldown-runtime-C0FnF6B9.js","./vendor-AX0A8AMd.js","./api-2VPaKkqc.js","./intercomService-Bjn0OsVT.js","./vendor-zod-B0ZFM2Pr.js","./types-BHgaZSm2.js","./lightbulb-outline-BtraGBwO.js","./vendor-core-DN-bpg68.js","./vendor-primevue-DXXRO7Z5.js","./vendor-dnd-onyWAbsd.js","./close-ChGy_BeH.js","./vendor-draggabilly-B7q3Src-.js","./api-CEbDxsSY.css","./server-CaRDiFTF.js","./useServerRestart-XnqHaTb7.js","./alert-circle-We_nDFAy.js","./plugins-CGDE1O2F.js","./CuiConsole-CMxpzZ51.js","./content-copy-CsUEmnFS.js","./vendor-xterm-Bor91IHm.js","./vendor-xterm-BrP-ENHg.css","./CuiConsole-CoA-Nq-_.css","./useLogsSocket-BKPqNCOv.js","./CuiMarkdownContent-gJ8gvmYA.js","./vendor-markdown-aj6qAoLx.js","./vendor-markdown-DtOhvyRx.css","./platformLabels-D-cF6OTP.js","./config-soN-D-nC.js","./useUpdateChannel-CjxdE3h1.js","./CertificateUpload-Cg89m_cM.js","./upload-D_9SZvdG.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{G as e,Pt as t,Rt as n,zr as r}from"./vendor-cameraui-ZyqPntQ7.js";import{Cr as i,Dn as a,ct as o,g as s,lt as c,xn as l,xr as u}from"./api-2VPaKkqc.js";import{$t as d,An as ee,Dn as te,Kn as f,Mn as p,Rt as m,Yn as h,an as g,dn as _,fn as v,hr as y,in as b,mn as ne,on as x,rn as S,sn as C,sr as w,ur as re,yr as T}from"./vendor-AX0A8AMd.js";import{a as ie,i as ae}from"./intercomService-Bjn0OsVT.js";import{K as oe,z as se}from"./vendor-primevue-DXXRO7Z5.js";import{a as ce,c as le,d as ue,r as de,s as fe,t as pe}from"./server-CaRDiFTF.js";import{n as me}from"./useServerRestart-XnqHaTb7.js";import{n as he,t as ge}from"./api-COPnjVh2.js";import{t as _e}from"./useUpdateChannel-CjxdE3h1.js";import{t as ve}from"./useAppVersion-DeQeb6UF.js";var ye={class:`flex flex-col w-full gap-6`},be={class:`flex items-center gap-4`},xe={class:`flex flex-col field-switch-gap`},Se={for:`betaChannel`,class:`cui-label-switch`},Ce={class:`flex flex-col gap-6`},we={key:0,class:`flex flex-row items-center justify-between`},Te={class:`text-sm`},Ee={key:1,class:`text-sm font-bold`},De={key:1,class:`flex flex-row items-center justify-between`},Oe={class:`text-sm`},ke={class:`text-sm font-bold`},Ae={key:0,class:`text-muted font-normal`},je={class:`flex flex-row items-center justify-between`},Me={class:`text-sm`},Ne={key:1,class:`text-sm font-bold`},Pe={key:2,class:`flex w-full items-center gap-2`},Fe={key:0},Ie={class:`card-title`},Le={class:`flex flex-col gap-6`},Re={class:`text-sm`},ze={key:0,class:`flex flex-col gap-2`},Be={class:`cui-label`},Ve={class:`flex justify-between gap-4 text-sm`},He={class:`text-muted shrink-0`},Ue={class:`text-right break-all`},We={class:`flex justify-between gap-4 text-sm`},Ge={class:`text-muted shrink-0`},Ke={class:`text-right break-all`},qe={class:`flex justify-between gap-4 text-sm`},Je={class:`text-muted shrink-0`},Ye={class:`text-right`},Xe={key:2,class:`text-sm text-muted`},Ze={class:`flex flex-wrap gap-2 ml-auto`},Qe={class:`card-title`},$e={class:`flex flex-col gap-6`},et={class:`text-sm`},tt={key:1},nt={class:`card-title`},E={class:`flex flex-col gap-6`},rt={class:`text-sm`},D=ne({__name:`SettingsSystem`,setup(ne){let D=c(()=>m(()=>import(`./VersionsHandler-C_mzsgfj.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]),import.meta.url)),it=c(()=>m(()=>import(`./CertificateUpload-Cg89m_cM.js`),__vite__mapDeps([31,1,2,3,10,32]),import.meta.url)),O=new ge,k=new pe,A=ie(),j=o(),M=u(),{t:N}=r(),{isElectronApp:P,electron:at}=ae(),{isOnline:F}=i(),{restarting:I,beginServerRestart:ot}=me(),{isBeta:st,setBeta:ct}=_e(),{appVersion:L,nativeVersion:R,refreshAppVersion:lt}=ve(),ut=s(),{data:z,isBusy:dt}=O.apiInfoQuery(),{mutate:ft,isPending:pt}=k.restartServerQuery(),{mutateAsync:mt,isPending:ht}=k.resetServerQuery(),B=w(N(`views.settings.unknown`)),V=w(N(`views.settings.unknown`)),H=w(!1),U=re(null),W=w(!1),G=0,K=S(()=>!P&&l(void 0,`master`)),gt=S(()=>{let e=U.value?.info;return!!(e&&e.chainLength<=1&&!e.selfSigned)}),q=S(()=>z.value?.electron??!1),J=S(()=>pt.value||ht.value||dt.value),Y=S(()=>z.value?.installedVersion||z.value?.version),X=S(()=>z.value?.restartRequired??!1),Z=S(()=>J.value||!F.value||I.value);function _t(e){ct(e===!0)}async function vt(){if(!H.value){H.value=!0;try{let e=await de(),t=new Blob([e],{type:`application/x-x509-ca-cert`});await a({blob:t,filename:`cert.pem`,mimeType:`application/x-x509-ca-cert`})}catch(e){A.error(e)}H.value=!1}}function yt(){ot(),ft()}function Q(e){switch(e){case`restart`:j.openTextDialog({data:{title:N(`components.dialog.title.restart`),confirmText:N(`components.form.button.restart`),contentText:N(`components.dialog.message.confirm_restart_server`),loading:J},onConfirm:yt});break;case`reset`:j.openTextDialog({data:{title:N(`components.dialog.title.reset_server`),confirmText:N(`components.form.button.reset`),contentText:N(`components.dialog.message.confirm_reset_server`),loading:J},onConfirm:async()=>{try{await mt()}catch{}finally{ut.logout()}}});break;case`versions`:j.openComponentDialog(D,{data:{title:N(`components.dialog.title.install_version`),confirmText:N(`components.form.button.install`),loading:J,contentProps:{target:{type:`server`}}}})}}async function bt(){if(P)try{V.value=await at.invoke(`get-app-version`)??N(`views.settings.unknown`)}catch(e){A.error(`Error getting electron app version:`,e)}}async function xt(){let e=++G;for(let t=0;t<30;t++)try{if(await he({signal:AbortSignal.timeout(5e3)}),e!==G)return;O.queryClient.invalidateQueries({queryKey:[`api`]});return}catch{if(await new Promise(e=>setTimeout(e,2e3)),e!==G||!F.value)return}}function $(){j.openTextDialog({data:{title:N(`views.settings.certificate_restart_title`),confirmText:N(`components.form.button.restart`),contentText:N(`views.settings.certificate_restart_info`)},onConfirm:async()=>{try{await le(),M.add({severity:`success`,detail:N(`views.settings.certificate_restart_done`),life:5e3})}catch(e){M.add({severity:`error`,detail:e?.response?.data?.message??e?.message,life:5e3})}}})}async function St(){try{U.value=await ce()}catch(e){A.error(`Certificate state failed:`,e)}}function Ct(){j.openComponentDialog(it,{data:{title:N(`views.settings.certificate_upload_title`),confirmText:N(`components.form.button.upload`),contentProps:{hasCertificate:U.value?.present===!0}},onConfirm:e=>wt(e)})}async function wt(e){W.value=!0;try{U.value=await ue(e),M.add({severity:`success`,detail:N(`views.settings.certificate_stored`),life:5e3}),$()}catch(e){M.add({severity:`error`,detail:e?.response?.data?.message??e?.message,life:5e3})}finally{W.value=!1}}function Tt(){j.openTextDialog({data:{title:N(`views.settings.certificate_remove_title`),confirmText:N(`components.form.button.remove`),contentText:N(`views.settings.certificate_remove_confirm`),loading:W},onConfirm:Et})}async function Et(){W.value=!0;try{U.value=await fe(),M.add({severity:`success`,detail:N(`views.settings.certificate_removed`),life:5e3}),$()}catch(e){M.add({severity:`error`,detail:e?.response?.data?.message??e?.message,life:5e3})}finally{W.value=!1}}return f(z,()=>{B.value=z.value?.version||N(`views.settings.unknown`)},{deep:!0,immediate:!0}),f([F,I],([e,t],[n,r])=>{q.value||(e&&!n||r&&!t&&e)&&xt()}),te(()=>{G++}),ee(()=>{P&&bt(),K.value&&St()}),(r,i)=>{let a=se,o=oe,s=e,c=t,u=n;return p(),C(`div`,null,[b(`div`,ye,[b(`div`,null,[v(s,{class:`cui-card`},{content:h(()=>[b(`div`,null,[b(`div`,be,[b(`div`,xe,[b(`label`,Se,T(r.$t(`views.settings.beta_updates`)),1),v(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:h(()=>[_(T(r.$t(`views.settings.beta_updates_info`)),1)]),_:1})]),v(o,{"input-id":`betaChannel`,"model-value":y(st),class:`ml-auto shrink-0`,"onUpdate:modelValue":_t},null,8,[`model-value`])])])]),_:1})]),b(`div`,null,[i[5]||=b(`span`,{class:`card-title`},`camera.ui`,-1),v(s,{class:`cui-card`},{content:h(()=>[b(`div`,Ce,[y(P)?(p(),C(`div`,we,[b(`span`,Te,T(r.$t(`views.settings.app`)),1),y(J)?(p(),g(c,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(p(),C(`span`,Ee,`v`+T(y(V)),1))])):x(``,!0),y(!1)&&y(L)?(p(),C(`div`,De,[b(`span`,Oe,T(r.$t(`views.settings.app`)),1),b(`span`,ke,[_(` v`+T(y(L)),1),y(R)&&y(R)!==y(L)?(p(),C(`span`,Ae,` (`+T(y(R))+`)`,1)):x(``,!0)])])):x(``,!0),b(`div`,je,[b(`span`,Me,T(r.$t(`views.settings.server`)),1),y(J)?(p(),g(c,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(p(),C(`span`,Ne,[_(` v`+T(y(B)),1),y(X)?(p(),C(d,{key:0},[_(` → v`+T(y(Y)),1)],64)):x(``,!0)]))]),y(q)?x(``,!0):(p(),C(`div`,Pe,[i[4]||=b(`div`,{class:`ml-auto`},null,-1),y(X)?(p(),g(u,{key:0,loading:y(J),disabled:y(Z),class:`cui-button-medium`,label:`${r.$t(`components.form.button.restart`)} (v${y(Y)})`,onClick:i[0]||=e=>Q(`restart`)},null,8,[`loading`,`disabled`,`label`])):x(``,!0),v(u,{loading:y(J),disabled:y(Z),class:`cui-button-medium`,label:r.$t(`components.form.button.manage`),onClick:i[1]||=e=>Q(`versions`)},null,8,[`loading`,`disabled`,`label`])]))])]),_:1})]),y(P)?x(``,!0):(p(),C(`div`,Fe,[b(`span`,Ie,T(r.$t(`views.settings.certificate`)),1),v(s,{class:`cui-card`},{content:h(()=>[b(`div`,Le,[b(`span`,Re,T(r.$t(`views.settings.certificate_info`)),1),y(K)?(p(),C(`div`,ze,[b(`span`,Be,T(r.$t(`views.settings.custom_certificate`)),1),y(U)?.problem?(p(),g(a,{key:0,severity:`error`,closable:!1},{default:h(()=>[_(T(r.$t(`views.settings.certificate_problem_${y(U).problem.code.replace(`-`,`_`)}`)),1)]),_:1})):y(U)?.info?(p(),C(d,{key:1},[b(`div`,Ve,[b(`span`,He,T(r.$t(`views.settings.certificate_names`)),1),b(`span`,Ue,T(y(U).info.names.join(`, `)),1)]),b(`div`,We,[b(`span`,Ge,T(r.$t(`views.settings.certificate_issuer`)),1),b(`span`,Ke,T(y(U).info.issuer),1)]),b(`div`,qe,[b(`span`,Je,T(r.$t(`views.settings.certificate_valid_to`)),1),b(`span`,Ye,T(y(U).info.validTo),1)]),y(gt)?(p(),g(a,{key:0,severity:`warn`,class:`mt-2`,closable:!1},{default:h(()=>[_(T(r.$t(`views.settings.certificate_chain_missing`)),1)]),_:1})):x(``,!0)],64)):(p(),C(`span`,Xe,T(r.$t(`views.settings.certificate_none`)),1))])):x(``,!0),b(`div`,Ze,[y(K)&&y(U)?.present?(p(),g(u,{key:0,severity:`danger`,outlined:``,loading:y(W),class:`cui-button-medium`,label:r.$t(`components.form.button.remove`),onClick:Tt},null,8,[`loading`,`label`])):x(``,!0),v(u,{loading:y(H)||y(J),disabled:y(Z),severity:`secondary`,outlined:``,class:`cui-button-medium`,label:r.$t(`components.form.button.download`),onClick:vt},null,8,[`loading`,`disabled`,`label`]),y(K)?(p(),g(u,{key:1,loading:y(W),class:`cui-button-medium`,label:r.$t(`components.form.button.upload`),onClick:Ct},null,8,[`loading`,`label`])):x(``,!0)])])]),_:1})])),b(`div`,null,[b(`span`,Qe,T(r.$t(`views.settings.restart_server`)),1),v(s,{class:`cui-card`},{content:h(()=>[b(`div`,$e,[b(`span`,et,T(r.$t(`views.settings.restart_server_info`)),1),v(u,{loading:y(J),disabled:y(Z),class:`cui-button-medium ml-auto`,label:r.$t(`components.form.button.restart`),onClick:i[2]||=e=>Q(`restart`)},null,8,[`loading`,`disabled`,`label`])])]),_:1})]),(`hasPermission`in r?r.hasPermission:y(l))(void 0,`master`)?(p(),C(`div`,tt,[b(`span`,nt,T(r.$t(`views.settings.reset_server`)),1),v(s,{class:`cui-card !border-red-900`},{content:h(()=>[b(`div`,E,[b(`span`,rt,T(r.$t(`views.settings.reset_server_info`)),1),v(u,{loading:y(J),disabled:y(Z),class:`cui-button-medium ml-auto`,label:r.$t(`components.form.button.reset`),onClick:i[3]||=e=>Q(`reset`)},null,8,[`loading`,`disabled`,`label`])])]),_:1})])):x(``,!0)])])}}});export{D as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Bt as e,F as t,G as n,Pt as r,Rt as i,Wt as a,zr as o}from"./vendor-cameraui-ZyqPntQ7.js";import{E as s,Mn as c,O as l,ct as u,hn as d,mn as f,vr as p,xr as m}from"./api-2VPaKkqc.js";import{Cn as h,Kt as g,Mn as _,Wn as v,Xn as y,Yn as b,an as x,b as S,dn as C,dr as w,fn as T,gr as E,hr as D,in as O,mn as k,nr as A,on as j,pr as M,rn as N,rr as P,sn as F,sr as I,v as L,vr as R,y as z,yn as B,yr as V}from"./vendor-AX0A8AMd.js";import{a as H}from"./intercomService-Bjn0OsVT.js";import{I as U,R as W,S as G,j as K,s as q}from"./vendor-primevue-DXXRO7Z5.js";import{t as ee}from"./delete-CiJ6ng5_.js";import{t as te}from"./CuiDataTable-f_QVzRqq.js";import{n as ne,t as re}from"./auth-owqLfbdn.js";var J={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Y(e,t){return _(),F(`svg`,J,[...t[0]||=[O(`path`,{fill:`currentColor`,d:`m21.7 13.35l-1 1l-2.05-2.05l1-1a.55.55 0 0 1 .77 0l1.28 1.28c.21.21.21.56 0 .77M12 18.94l6.06-6.06l2.05 2.05L14.06 21H12zM12 14c-4.42 0-8 1.79-8 4v2h6v-1.89l4-4c-.66-.08-1.33-.11-2-.11m0-10a4 4 0 0 0-4 4a4 4 0 0 0 4 4a4 4 0 0 0 4-4a4 4 0 0 0-4-4`},null,-1)]])}var ie=P({name:`mdi-account-edit`,render:Y}),X={for:`username`,class:`cui-label`},Z={for:`password`,class:`cui-label`},Q={for:`passwordConfirm`,class:`cui-label`},$={for:`role`,class:`cui-label`},ae=k({__name:`UserForm`,props:{user:{}},setup(e,{expose:n}){let r=new p,i=e,a=H(),c=m(),{t:u}=o(),d=B(`dialogRefProps`),{mutateAsync:f,isPending:y}=r.createUserQuery(),{mutateAsync:C,isPending:w}=r.patchUserQuery(),{user:E}=M(i),k=v(`formRef`),A=I({}),P=I([`user`,`admin`]),F=N(()=>!!(d.loading?.value||y.value||w.value));async function R(){let e=await k.value?.validate();if(!e?.valid)return a.error(`Validation failed`,e),c.add({severity:`error`,detail:u(`components.toast.validation_failed`),life:3e3}),null;E.value?await C({username:E.value.username,userData:A.value}):await f({userData:A.value})}return n({isLoading:F,onConfirm:R}),(e,n)=>{let r=t,i=W,a=q,o=K;return _(),x(D(S),{ref_key:`formRef`,ref:k,class:`flex flex-col gap-6`,"validation-schema":D(E)?D(l):D(s)},{default:b(()=>[T(D(z),{modelValue:D(A).username,"onUpdate:modelValue":n[0]||=e=>D(A).username=e,modelModifiers:{trim:!0},value:D(E)?.username??D(A).username,name:`username`,as:`div`,class:`flex flex-col field-gap`},{default:b(({field:t,errors:n})=>[O(`label`,X,V(e.$t(`components.form.label.username`)),1),T(i,null,{default:b(()=>[T(r,h(t,{invalid:n.length>0,loading:D(F),type:`text`}),null,16,[`invalid`,`loading`])]),_:2},1024),T(g,{name:`fade`},{default:b(()=>[T(D(L),{name:`username`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`,`value`]),T(D(z),{modelValue:D(A).password,"onUpdate:modelValue":n[1]||=e=>D(A).password=e,name:`password`,as:`div`,class:`flex flex-col field-gap`},{default:b(({field:t,errors:n})=>[O(`label`,Z,V(e.$t(`components.form.label.new_password`)),1),T(i,null,{default:b(()=>[T(a,h({invalid:n.length>0},t,{loading:D(F),feedback:!1,"toggle-mask":``}),null,16,[`invalid`,`loading`])]),_:2},1024),T(g,{name:`fade`},{default:b(()=>[T(D(L),{name:`password`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),T(D(z),{modelValue:D(A).passwordConfirm,"onUpdate:modelValue":n[2]||=e=>D(A).passwordConfirm=e,name:`passwordConfirm`,as:`div`,class:`flex flex-col field-gap`},{default:b(({field:t,errors:n})=>[O(`label`,Q,V(e.$t(`components.form.label.new_password_confirm`)),1),T(i,null,{default:b(()=>[T(a,h({invalid:n.length>0},t,{loading:D(F),feedback:!1,"toggle-mask":``}),null,16,[`invalid`,`loading`])]),_:2},1024),T(g,{name:`fade`},{default:b(()=>[T(D(L),{name:`passwordConfirm`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),D(E)?.role===`master`?j(``,!0):(_(),x(D(z),{key:0,"model-value":D(A).role,name:`role`,as:`div`,class:`flex flex-col field-gap`},{default:b(({errors:t})=>[O(`label`,$,V(e.$t(`components.form.label.role`)),1),T(i,null,{default:b(()=>[T(o,{"model-value":D(E)?.role??D(A).role,options:D(P),invalid:t.length>0,loading:D(F),type:`text`,onValueChange:n[3]||=e=>D(A).role=e},null,8,[`model-value`,`options`,`invalid`,`loading`])]),_:2},1024),T(g,{name:`fade`},{default:b(()=>[T(D(L),{name:`role`,class:`cui-input-error`})]),_:1})]),_:1},8,[`model-value`]))]),_:1},8,[`validation-schema`])}}}),oe={class:`flex flex-col w-full gap-6`},se={class:`card-title`},ce={class:`flex flex-col gap-6`},le={class:`flex items-center gap-2`},ue={class:`flex flex-col`},de={class:`text-sm font-semibold text-color`},fe={class:`text-xs text-muted`},pe={class:`relative w-6 h-6`},me={class:`flex flex-row items-end justify-end gap-2`},he={class:`card-title`},ge={class:`flex items-center justify-center`},_e={class:`font-medium block max-w-[200px] truncate`},ve={class:`text-muted text-sm`},ye=k({__name:`SettingsUsers`,setup(t){let s=new re,l=new p,m=u(),{mdBreakpoint:h}=c(),{t:g}=o(),S=I({pageSize:15,page:1}),k=I({page:1,pageSize:-1}),{data:j,isBusy:M}=l.getUsersQuery(S),{mutate:P,isPending:L}=l.removeUserQuery(),{data:z,isBusy:B}=s.listAllSessionsQuery(k),{mutate:H,isPending:W}=s.revokeSessionQuery(),K={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm`}}},q=I({global:{value:null,matchMode:U.CONTAINS}}),J=v(`menuRef`),Y=N(()=>M.value||L.value),X=N(()=>z.value??[]),Z=N(()=>!!B.value),Q=N(()=>[{label:g(`views.settings.edit`),icon:ie,buttonProps:{disabled:Y.value},onClick:e=>{$(e)}},{label:g(`views.settings.remove`),icon:ee,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},buttonProps:{disabled:Y.value,severity:`danger`},onClick:e=>{P({username:e.username})}}]);function $(e){m.openComponentDialog(ae,{data:{title:g(e?`components.dialog.title.edit_user`:`components.dialog.title.create_new_user`),confirmText:g(e?`components.form.button.save`:`components.form.button.add`),loading:Y,contentProps:{user:w(e)}}})}return(t,o)=>{let s=r,c=d,l=G,u=i,p=te,m=n,g=e,v=ne,w=a;return _(),F(`div`,null,[O(`div`,oe,[O(`div`,null,[O(`span`,se,V(t.$t(`views.settings.registered_users`)),1),T(m,{class:`cui-card`},{content:b(()=>[O(`div`,ce,[T(p,{filters:D(q),"onUpdate:filters":o[0]||=e=>A(q)?q.value=e:null,value:D(j)?.result,paginator:D(S).page>1||D(j)?.result&&D(j).result.length>15,"data-key":`id`,"filter-display":`menu`,loading:D(Y),"global-filter-fields":[`username`],pt:K,"striped-rows":``,scrollable:``},{loading:b(()=>[T(s,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),default:b(()=>[T(l,{field:`username`,"align-frozen":`left`,frozen:!D(h),header:t.$t(`views.settings.title_user`),"header-class":`p-2 h-7 min-h-7 max-h-7 w-40 min-w-40 max-w-40`,class:`p-2 h-7 min-h-7 max-h-7 w-40 min-w-40 max-w-40`},{body:b(({data:e})=>[O(`div`,le,[T(c,{src:e.avatar,size:54},null,8,[`src`]),O(`div`,ue,[O(`span`,de,V(e.username),1),O(`span`,fe,V(e.role),1)])])]),_:1},8,[`frozen`,`header`]),T(l,{field:`action`,"header-class":`p-2 h-7 min-h-7 max-h-7`,class:`p-2 h-7 min-h-7 max-h-7 text-right`},{body:b(({data:e})=>[O(`div`,null,[T(u,{severity:`secondary`,text:``,rounded:``,loading:D(Y),class:`cui-icon-md`,onClick:t=>D(J)?.toggleMenu(t,void 0,e)},{icon:b(()=>[O(`div`,pe,[O(`div`,{class:E([`absolute top-1 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full transform transition-all duration-100 origin-center bg-current`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":D(J)?.isOpen&&D(J)?.data?._id===e._id}])},null,2),O(`div`,{class:E([`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1 h-1 rounded-full transition-all duration-100 bg-current`,{"opacity-0 scale-0":D(J)?.isOpen&&D(J)?.data?._id===e._id}])},null,2),O(`div`,{class:E([`absolute bottom-1 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full transform transition-all duration-100 origin-center bg-current`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":D(J)?.isOpen&&D(J)?.data?._id===e._id}])},null,2)])]),_:2},1032,[`loading`,`onClick`])])]),_:1})]),_:1},8,[`filters`,`value`,`paginator`,`loading`]),O(`div`,me,[T(u,{severity:`success`,loading:D(Y),class:`cui-button-medium mr-4 md:mr-0`,label:t.$t(`components.form.button.create_new_user`),onClick:o[1]||=e=>$()},null,8,[`loading`,`label`])])])]),_:1})]),O(`div`,null,[O(`span`,he,V(t.$t(`views.settings.logged_in_users`)),1),T(m,{class:`cui-card`},{content:b(()=>[T(p,{value:D(X),loading:D(Z),pt:K,"striped-rows":``,scrollable:``},{loading:b(()=>[T(s,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:b(()=>[O(`span`,ve,V(t.$t(`views.settings.no_sessions`)),1)]),default:b(()=>[T(l,{field:`status`,header:``,style:{width:`3rem`}},{body:b(({data:e})=>[O(`div`,ge,[y(T(g,{style:R({background:e.is_current?`var(--primary-500)`:`transparent`})},null,8,[`style`]),[[w,{value:e.is_current?t.$t(`components.user_table.you`):void 0}]])])]),_:1}),T(l,{field:`device.name`,header:t.$t(`components.user_table.title_device`)},{body:b(({data:e})=>[O(`span`,_e,V(e.device.name),1)]),_:1},8,[`header`]),T(l,{field:`device.ip`,header:t.$t(`components.user_table.title_address`)},{body:b(({data:e})=>[C(V(e.device.ip??`-`),1)]),_:1},8,[`header`]),T(l,{field:`device.kind`,header:t.$t(`components.user_table.title_kind`)},null,8,[`header`]),T(l,{field:`action`,class:`text-right`},{body:b(({data:e})=>[y((_(),x(u,{severity:`danger`,text:``,rounded:``,loading:D(W),class:`cui-icon-md`,onClick:t=>D(H)({id:e.id})},{icon:b(()=>[T(v,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[w,{value:t.$t(`views.settings.active_sessions.revoke`)}]])]),_:1})]),_:1},8,[`value`,`loading`])]),_:1})])]),T(f,{ref_key:`menuRef`,ref:J,items:D(Q),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}});export{ye as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{Mt as e,Rt as t,Wt as n,ei as r,ki as i,oi as a,zr as o}from"./vendor-cameraui-ZyqPntQ7.js";import{B as s,Bn as c,Mn as l,kn as u,m as d}from"./api-2VPaKkqc.js";import{$t as f,An as p,Cn as m,Kn as h,Mn as g,Pn as _,Qt as v,Rn as y,Wn as ee,Xn as b,Xt as x,Yn as S,an as C,ar as w,fn as T,gr as E,hr as D,in as O,jn as te,mn as k,on as A,pr as ne,rn as j,rr as M,sn as N,sr as P,ur as F,vr as I,wn as L,yr as R}from"./vendor-AX0A8AMd.js";import{a as re}from"./intercomService-Bjn0OsVT.js";import{p as z}from"./vendor-core-DN-bpg68.js";import{o as B}from"./vendor-primevue-DXXRO7Z5.js";import{a as V,i as H,n as U,r as W,t as G}from"./vendor-xterm-Bor91IHm.js";import{t as ie}from"./back-filled-MAIFvJqE.js";import{t as K}from"./settings-Bw6giVLH.js";import{n as ae,t as oe}from"./zoom-in-D-OIVcXF.js";import{n as se,t as ce}from"./CuiTopNavbarItem-D4qP-WpK.js";import{t as le}from"./trash-2-eaKaSMof.js";var q={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function ue(e,t){return g(),N(`svg`,q,[...t[0]||=[O(`path`,{fill:`currentColor`,d:`M18 28A12 12 0 1 0 6 16v6.2l-3.6-3.6L1 20l6 6l6-6l-1.4-1.4L8 22.2V16a10 10 0 1 1 10 10Z`},null,-1)]])}var de=M({name:`carbon-reset`,render:ue}),fe={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function J(e,t){return g(),N(`svg`,fe,[...t[0]||=[O(`path`,{fill:`currentColor`,d:`M17 15V8h-2v7H8v2h7v7h2v-7h7v-2z`},null,-1)]])}var pe=M({name:`carbon-add`,render:J}),me=u(k({__name:`CuiTerminal`,props:{autoConnect:{type:Boolean,default:!0},cwd:{},shell:{},options:{default:()=>({fontSize:14})},inputTransform:{}},emits:[`connected`,`disconnected`,`error`],setup(t,{expose:n,emit:a}){let o=t,s=a,{isConnected:c,isConnecting:l,isClientConnected:u,error:d,connect:f,write:m,resize:_,close:v}=e(),{options:y}=ne(o),b={fontSize:14,scrollback:5e3,allowTransparency:!1,disableStdin:!1,cursorBlink:!0,allowProposedApi:!0,theme:{background:`#000000`}},x={"\x1B[A":`\x1BOA`,"\x1B[B":`\x1BOB`,"\x1B[C":`\x1BOC`,"\x1B[D":`\x1BOD`,"\x1B[H":`\x1BOH`,"\x1B[F":`\x1BOF`},S=ee(`terminalContainerRef`),C=F(null),w=null,T=null,E=null,D=null,O=r(S);function k(e){c.value&&m(o.inputTransform?o.inputTransform(e):e)}function A(e){C.value&&C.value.write(e)}function j(){if(!(!C.value||!w))try{w.fit()}catch{}}function M(){j(),c.value&&C.value&&_({cols:C.value.cols,rows:C.value.rows})}function P(){C.value&&L(()=>{j(),C.value&&(C.value.refresh(0,C.value.rows-1),C.value.focus())})}let I=i(M,100);function R(e){if(e)try{e.dispose()}catch{}}function re(){S.value&&(C.value=new G({...b,...y.value}),w=new V,D=new U,T=new H,E=new W,C.value.loadAddon(T),C.value.loadAddon(E),C.value.loadAddon(D),C.value.loadAddon(w),C.value.open(S.value),C.value.onData(k),C.value.onResize(({cols:e,rows:t})=>{c.value&&_({cols:e,rows:t})}),D.onContextLoss(()=>{R(D),D=null}),M())}async function z(){C.value&&await f({cols:C.value.cols,rows:C.value.rows,cwd:o.cwd,shell:o.shell,onData:A,onClose:()=>{C.value?.write(`\r
|
|
2
|
+
\x1B[33mSession closed.\x1B[0m\r
|
|
3
|
+
`)},onError:e=>{s(`error`,e)}})}async function B(){await v()}function ie(){C.value?.clear()}function K(){C.value?.focus()}function ae(e){C.value?.modes.applicationCursorKeysMode&&(e=x[e]??e),k(e)}return h(y,()=>{C.value&&(C.value.options={...b,...y.value},I())},{deep:!0}),h(c,e=>{e?(s(`connected`),L(()=>C.value?.focus())):s(`disconnected`)}),h([O.height,O.width],()=>{I()}),p(()=>{re(),o.autoConnect&&z()}),te(()=>{v(),R(w),R(D),R(T),R(E),R(C.value)}),n({connect:z,disconnect:B,clear:ie,focus:K,resize:M,refresh:P,sendInput:ae,isConnected:c,isConnecting:l,isClientConnected:u,error:d,term:C}),(e,t)=>(g(),N(`div`,{ref_key:`terminalContainerRef`,ref:S,class:`cui-terminal w-full h-full bg-black overflow-hidden p-2 min-w-0`},null,512))}}),[[`__scopeId`,`data-v-82bcb47c`]]),Y=[{id:`esc`,label:`Esc`,sequence:`\x1B`},{id:`tab`,label:`Tab`,sequence:` `},{id:`ctrl`,label:`Ctrl`,sequence:``,modifier:!0},{id:`alt`,label:`Alt`,sequence:``,modifier:!0},{id:`home`,label:`Home`,sequence:`\x1B[H`},{id:`end`,label:`End`,sequence:`\x1B[F`},{id:`up`,label:`↑`,sequence:`\x1B[A`},{id:`down`,label:`↓`,sequence:`\x1B[B`},{id:`left`,label:`←`,sequence:`\x1B[D`},{id:`right`,label:`→`,sequence:`\x1B[C`},{id:`pgup`,label:`PgUp`,sequence:`\x1B[5~`},{id:`pgdn`,label:`PgDn`,sequence:`\x1B[6~`},{id:`del`,label:`Del`,sequence:`\x1B[3~`},{id:`slash`,label:`/`,sequence:`/`},{id:`dash`,label:`-`,sequence:`-`},{id:`pipe`,label:`|`,sequence:`|`},{id:`tilde`,label:`~`,sequence:`~`},{id:`underscore`,label:`_`,sequence:`_`}],X=[`tab`,`ctrl`,`up`,`down`,`left`,`right`],Z={a:``,b:``,c:``,d:``,e:``,f:``,g:`\x07`,h:`\b`,i:` `,j:`
|
|
4
|
+
`,k:`\v`,l:`\f`,m:`\r`,n:``,o:``,p:``,q:``,r:``,s:``,t:``,u:``,v:``,w:``,x:``,y:``,z:``},he=[`onPointerdown`],Q={key:0,class:`flex flex-wrap gap-1.5 px-2 py-2 bg-black/90 border-t border-white/10`},ge=[`onClick`],_e=u(k({__name:`CuiTerminalToolbar`,emits:[`send`],setup(e,{expose:t,emit:n}){let r=n,{smBreakpoint:i}=l(),o=Y,s=a(`cui-terminal-toolbar-keys`,X),c=P(!1),u=w(new Set),d=j(()=>s.value.map(e=>o.find(t=>t.id===e)).filter(Boolean));function p(e){if(u.has(`ctrl`)&&e.length===1){let t=Z[e.toLowerCase()];if(t)return t}return u.has(`alt`)&&e.length===1?`\x1b${e}`:e}function m(e){if(e.modifier){u.has(e.id)?u.delete(e.id):u.add(e.id);return}let t=p(e.sequence);r(`send`,t),u.clear()}function h(e){let t=s.value.indexOf(e);t>=0?s.value.splice(t,1):s.value.push(e)}return t({activeModifiers:u,applyModifiers:p}),(e,t)=>{let n=K;return g(),N(`div`,null,[O(`div`,{class:E([`cui-terminal-toolbar flex items-center gap-1 px-2 py-1.5 bg-black/80 border-t border-white/10 overflow-x-auto no-scrollbar`,{"pt-3":!D(i)}])},[(g(!0),N(f,null,_(D(d),e=>(g(),N(`button`,{key:e.id,class:E([`toolbar-key flex-shrink-0 px-2.5 py-1.5 rounded text-xs font-mono select-none transition-colors duration-100 border min-w-[32px] text-center cursor-pointer`,{"bg-white/20 border-white/30 text-white":e.modifier&&D(u).has(e.id),"bg-white/5 border-white/10 text-white/70 hover:bg-white/15 hover:text-white active:bg-white/25":!(e.modifier&&D(u).has(e.id))}]),onPointerdown:v(t=>m(e),[`prevent`])},R(e.label),43,he))),128)),O(`button`,{class:E([`toolbar-key flex-shrink-0 px-2 py-1.5 rounded text-xs select-none transition-colors duration-100 border ml-auto`,{"bg-white/20 border-white/30 text-white":D(c),"bg-white/5 border-white/10 text-white/50 hover:bg-white/15 hover:text-white":!D(c)}]),onPointerdown:t[0]||=v(e=>c.value=!D(c),[`prevent`])},[T(n,{class:`w-3.5 h-3.5`})],34)],2),D(c)?(g(),N(`div`,Q,[(g(!0),N(f,null,_(D(o),e=>(g(),N(`button`,{key:e.id,class:E([`px-2.5 py-1 rounded text-xs font-mono select-none transition-colors duration-100 border`,{"bg-white/20 border-white/30 text-white":D(s).includes(e.id),"bg-white/5 border-white/10 text-white/30":!D(s).includes(e.id)}]),onClick:t=>h(e.id)},R(e.label),11,ge))),128))])):A(``,!0)])}}}),[[`__scopeId`,`data-v-e111c595`]]),ve={class:`h-full w-full dark-mode relative overflow-hidden`},ye={class:`relative w-6 h-6`},$=k({__name:`Terminal`,props:{navbarWidth:{default:0},navbarLeft:{default:0}},setup(e){let i=e,a=re(),{t:l}=o(),u=c(),{uiSettings:h}=z(u),{navbarWidth:v,navbarLeft:w}=ne(i),k=ee(`toolbar`),A=P([]),M=P(``),F=P(0),R=new Map,V=window.innerHeight,H=0,U=r(k),W=j(()=>v.value+w.value),G=j(()=>{let e=document.getElementById(`container`);return e&&parseFloat(getComputedStyle(e).paddingBottom)||0}),K=j(()=>F.value<=0?0:Math.max(0,F.value-G.value)),q=j(()=>A.value.find(e=>e.id===M.value)),ue=j(()=>({fontSize:h.value.console.zoom})),fe=P([{label:l(`components.form.tooltip.clear`),icon:le,buttonProps:{severity:`danger`},command:()=>{Q()?.clear()}},{label:l(`components.form.tooltip.zoom_out`),icon:ae,command:()=>{ke()}},{label:l(`components.form.tooltip.zoom_in`),icon:oe,command:()=>{Oe()}}]);function J(){V=window.innerHeight,Y()}function Y(){let e=window.visualViewport;if(!e)return;let t=Math.max(0,V-e.height-e.offsetTop);t!==F.value&&(F.value=t,Z(t>0))}function X(e){e.target?.closest?.(`.cui-terminal-toolbar`)||e.preventDefault()}function Z(e){e?(document.addEventListener(`touchmove`,X,{passive:!1}),document.documentElement.style.overscrollBehavior=`none`):(document.removeEventListener(`touchmove`,X),document.documentElement.style.overscrollBehavior=``)}function he(e,t){t?R.set(e,t):R.delete(e)}function Q(){return R.get(M.value)}function ge(){return H++,{id:d(12),name:`Terminal ${H}`,isConnected:!1,isConnecting:!0}}function $(){let e=ge();A.value.push(e),M.value=e.id}async function be(e){let t=A.value.findIndex(t=>t.id===e);if(t===-1)return;let n=R.get(e);if(n&&await n.disconnect(),A.value.splice(t,1),R.delete(e),M.value===e&&A.value.length>0){let e=Math.min(t,A.value.length-1);M.value=A.value[e].id,L(()=>{Q()?.refresh()})}}function xe(e){M.value=e,L(()=>{R.get(e)?.refresh()})}function Se(e){if(!k.value?.activeModifiers?.size)return e;let t=k.value.applyModifiers(e);return k.value.activeModifiers.clear(),t}function Ce(e){Q()?.sendInput(e)}async function we(){let e=Q();e&&(await e.disconnect(),await e.connect())}function Te(e){let t=A.value.find(t=>t.id===e);t&&(t.isConnected=!0,t.isConnecting=!1),e===M.value&&L(()=>{Q()?.refresh()})}function Ee(e){let t=A.value.find(t=>t.id===e);t&&(t.isConnected=!1,t.isConnecting=!1)}function De(e,t){a.error(`Terminal ${e} error:`,t);let n=A.value.find(t=>t.id===e);n&&(n.isConnected=!1,n.isConnecting=!1)}function Oe(){h.value.console.zoom!==20&&(h.value.console.zoom++,L(()=>{Q()?.resize()}))}function ke(){h.value.console.zoom!==8&&(h.value.console.zoom--,L(()=>{Q()?.resize()}))}return p(()=>{window.addEventListener(`resize`,J);let e=window.visualViewport;e&&(e.addEventListener(`resize`,Y),e.addEventListener(`scroll`,Y)),$()}),te(()=>{window.removeEventListener(`resize`,J);let e=window.visualViewport;e&&(e.removeEventListener(`resize`,Y),e.removeEventListener(`scroll`,Y)),Z(!1)}),(e,r)=>{let i=ie,a=t,o=s,c=ce,u=pe,d=se,p=B,h=de,v=n;return g(),N(`div`,ve,[T(o,{position:`left`},{default:S(()=>[T(a,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:r[0]||=t=>e.$router.push(`/menu`)},{icon:S(()=>[T(i,{class:`w-6 h-6`})]),_:1})]),_:1}),T(d,{scrollable:``,"left-offset":D(W),animate:``},{left:S(()=>[(g(!0),N(f,null,_(D(A),e=>(g(),C(c,{key:e.id,type:`tab`,label:e.name,active:D(M)===e.id,status:e.isConnected?`connected`:e.isConnecting?`connecting`:`disconnected`,closeable:D(A).length>1,onClick:t=>xe(e.id),onClose:t=>be(e.id)},null,8,[`label`,`active`,`status`,`closeable`,`onClick`,`onClose`]))),128)),b((g(),C(c,{type:`button`,onClick:$},{icon:S(()=>[T(u,{class:`w-4 h-4`})]),_:1})),[[v,D(l)(`views.terminal.new_tab`)]])]),_:1},8,[`left-offset`]),O(`div`,{class:`w-full flex flex-col relative`,style:I({paddingTop:`${D(55)}px`,height:`calc(100% - ${D(K)}px)`,transition:`height 150ms ease-out`})},[O(`div`,{class:E([`flex-1 relative min-h-0 overflow-hidden`,{"pb-1":D(F)>0}])},[(g(!0),N(f,null,_(D(A),e=>b((g(),C(me,{key:e.id,ref_for:!0,ref:t=>he(e.id,t),options:D(ue),"input-transform":Se,"auto-connect":``,onConnected:()=>Te(e.id),onDisconnected:()=>Ee(e.id),onError:t=>De(e.id,t)},null,8,[`options`,`onConnected`,`onDisconnected`,`onError`])),[[x,D(M)===e.id]])),128))],2),T(_e,{ref_key:`toolbar`,ref:k,onSend:Ce},null,512)],4),T(p,{model:D(fe),direction:`up`,"transition-delay":80,"tooltip-options":{position:`left`,event:void 0},class:`absolute right-3 z-11`,pt:{root:{style:`pointer-events: none`}},style:I({bottom:`calc(0.75rem + ${D(U).height.value}px + ${D(K)}px)`,transition:`bottom 150ms ease-out`})},{button:S(({visible:e,toggleCallback:t})=>[T(a,{severity:`secondary`,class:E([`dark-mode opacity-40 hover:opacity-100 active:opacity-100 focus:opacity-100 transition pointer-events-auto`,{"opacity-100":e}]),rounded:``,onClick:t},{icon:S(()=>[O(`div`,ye,[O(`div`,{class:E([`absolute top-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":e}]),style:{backgroundColor:`var(--text-color)`}},null,2),O(`div`,{class:E([`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1.5 h-1.5 rounded-full transition-all duration-100`,{"opacity-0 scale-0":e}]),style:{backgroundColor:`var(--text-color)`}},null,2),O(`div`,{class:E([`absolute bottom-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":e}]),style:{backgroundColor:`var(--text-color)`}},null,2)])]),_:2},1032,[`class`,`onClick`])]),item:S(({item:e,toggleCallback:t})=>[b((g(),C(a,m({severity:`secondary`},e.buttonProps,{rounded:``,onClick:t}),{icon:S(()=>[(g(),C(y(e.icon)))]),_:2},1040,[`onClick`])),[[v,{value:e.label}]])]),_:1},8,[`model`,`style`]),b((g(),C(a,{class:E([`opacity-40 hover:opacity-100 active:opacity-100 focus:opacity-100 transition absolute right-14 z-11`,{"!opacity-20 pointer-events-none":D(q)?.isConnected||D(q)?.isConnecting}]),style:I({bottom:`calc(0.75rem + ${D(U).height.value}px + ${D(K)}px)`,transition:`bottom 150ms ease-out`}),rounded:``,disabled:D(q)?.isConnected||D(q)?.isConnecting,onClick:we},{icon:S(()=>[T(h,{class:`text-white`})]),_:1},8,[`class`,`style`,`disabled`])),[[v,D(l)(`views.terminal.reconnect`)]])])}}});export{$ as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CuiMarkdownContent-D2bWw1GN.js","./CuiMarkdownContent-gJ8gvmYA.js","./vendor-AX0A8AMd.js","./rolldown-runtime-C0FnF6B9.js","./vendor-markdown-aj6qAoLx.js","./vendor-markdown-DtOhvyRx.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{G as e,Pt as t,Rt as n,Wt as r,zr as i}from"./vendor-cameraui-ZyqPntQ7.js";import{B as a,Mn as o,ct as s,lt as c}from"./api-2VPaKkqc.js";import{$t as l,An as u,Mn as d,Pn as f,Rt as p,Xn as m,Yn as h,an as g,dn as _,fn as v,gr as ee,hr as y,in as b,mn as x,on as S,rn as C,rr as w,sn as T,sr as E,yr as D}from"./vendor-AX0A8AMd.js";import{p as O}from"./vendor-core-DN-bpg68.js";import{z as k}from"./vendor-primevue-DXXRO7Z5.js";import{o as A}from"./server-CaRDiFTF.js";import{t as te}from"./check-circle-DNTQ812v.js";import{t as j}from"./alert-circle-We_nDFAy.js";import{c as M}from"./plugins-CGDE1O2F.js";import{t as N}from"./information-outline-CQ5e79wc.js";import{t as ne}from"./back-filled-MAIFvJqE.js";import{t as re}from"./refresh-CygeIRWu.js";import{t as P}from"./updates-DelnBMM3.js";var F={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function I(e,t){return d(),T(`svg`,F,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`M5 3c-1.11 0-2 .89-2 2v14c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2V5c0-1.11-.89-2-2-2zm0 2h14v14H5zm2 2v2h10V7zm0 4v2h10v-2zm0 4v2h7v-2z`},null,-1)]])}var L=w({name:`mdi-text-box-outline`,render:I}),R={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function z(e,t){return d(),T(`svg`,R,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`M13 18v-8l3.5 3.5l1.42-1.42L12 6.16l-5.92 5.92L7.5 13.5L11 10v8zM12 2a10 10 0 0 1 10 10a10 10 0 0 1-10 10A10 10 0 0 1 2 12A10 10 0 0 1 12 2`},null,-1)]])}var ie=w({name:`mdi-arrow-up-circle`,render:z}),B={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function V(e,t){return d(),T(`svg`,B,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`M13 18h-2v-8l-3.5 3.5l-1.42-1.42L12 6.16l5.92 5.92l-1.42 1.42L13 10zM12 2a10 10 0 0 1 10 10a10 10 0 0 1-10 10A10 10 0 0 1 2 12A10 10 0 0 1 12 2m0 2a8 8 0 0 0-8 8a8 8 0 0 0 8 8a8 8 0 0 0 8-8a8 8 0 0 0-8-8`},null,-1)]])}var ae=w({name:`mdi-arrow-up-circle-outline`,render:V}),H={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function U(e,t){return d(),T(`svg`,H,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10s10-4.5 10-10S17.5 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m4.59-12.42L10 14.17l-2.59-2.58L6 13l4 4l8-8z`},null,-1)]])}var W=w({name:`mdi-check-circle-outline`,render:U}),G={class:`flex flex-col`},K={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},q={key:0,class:`flex items-center justify-center py-10`},J={key:2,class:`text-sm text-muted`},Y=x({__name:`UpdateChangelog`,props:{kind:{},name:{},version:{}},setup(e){let n=c(()=>p(()=>import(`./CuiMarkdownContent-D2bWw1GN.js`),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)),r=e,i=E(``),a=E(!0);return u(async()=>{let e=new AbortController;try{r.kind===`plugin`?i.value=await M({pluginName:r.name,query:r.version?{pluginversion:r.version}:void 0,signal:e.signal}):i.value=await A({version:r.version??`latest`,signal:e.signal})}catch{i.value=``}finally{a.value=!1}}),(e,r)=>{let o=t;return d(),T(`div`,G,[b(`h3`,K,D(e.$t(`components.form.label.changelog`)),1),y(a)?(d(),T(`div`,q,[v(o,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):y(i)?(d(),g(y(n),{key:1,content:y(i)},null,8,[`content`])):(d(),T(`span`,J,D(e.$t(`views.updates.no_changelog`)),1))])}}}),oe={key:0,class:`flex items-center justify-between`},se={class:`page-title`},ce={key:1,class:`w-full flex items-center justify-center py-16`},le={key:2,class:`flex flex-col gap-6`},ue={key:0,class:`flex items-center gap-4`},de={class:`flex flex-col field-switch-gap min-w-0 flex-1`},fe={class:`text-sm font-bold text-color`},pe={key:1,class:`flex items-center gap-4`},me={class:`flex flex-col field-switch-gap min-w-0 flex-1`},he={class:`text-sm font-bold text-color`},ge={key:2,class:`flex flex-wrap items-center gap-4`},_e={class:`flex flex-col field-switch-gap min-w-0 flex-1`},ve={class:`text-sm font-bold text-color`},ye={class:`card-title`},be={class:`flex flex-col`},xe={class:`flex flex-col field-switch-gap min-w-0 flex-1`},Se={class:`text-sm font-bold text-color truncate`},Ce={key:0,class:`text-xs text-muted truncate`},X=x({__name:`Updates`,setup(c){let{t:p}=i(),x=s(),{smBreakpoint:w}=o(),E=P(),{status:A,runActive:M,cancelRequested:F,isChecking:I,checkedAt:R,runTotal:z,runDone:B,pendingCount:V,updatingItem:H,restartingItem:U,serverBusy:G,busy:K,allUpToDate:q,serverPending:J}=O(E),X=C(()=>[{kind:`server`,title:p(`views.updates.section_server`)},{kind:`plugin`,title:p(`views.updates.section_plugins`)},{kind:`worker`,title:p(`views.updates.section_workers`)}].map(e=>({...e,items:E.itemsOf(e.kind)})).filter(e=>e.items.length>0)),Z=C(()=>new Date(R.value).toLocaleTimeString());function we(e){return e.blockedReason===`legacy`?p(`views.updates.blocked_legacy`):p(`views.updates.blocked_desktop`)}function Q(e){x.openComponentDialog(Y,{data:{title:e.name,confirmText:p(`components.form.button.update`),contentProps:{kind:e.kind,name:e.packageName??e.name,version:e.latestVersion}},onConfirm:()=>E.updateItem(e.id)})}return u(()=>{E.connect()}),(i,o)=>{let s=re,c=n,u=ne,p=a,x=t,C=k,O=W,P=ae,R=e,Y=te,Te=j,Ee=N,De=ie,Oe=L,$=r;return d(),T(`div`,null,[y(w)?S(``,!0):(d(),T(`div`,oe,[b(`h1`,se,D(i.$t(`views.updates.title`)),1),m((d(),g(c,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-lg relative z-2`,loading:y(I),disabled:y(K),onClick:o[0]||=e=>y(E).refresh()},{icon:h(()=>[v(s,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`disabled`])),[[$,{value:i.$t(`views.updates.check_now`)},void 0,{bottom:!0}]])])),v(p,{position:`left`},{default:h(()=>[v(c,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:o[1]||=e=>i.$router.push(`/menu`)},{icon:h(()=>[v(u,{class:`w-6 h-6`})]),_:1})]),_:1}),v(p,{position:`right`},{default:h(()=>[v(c,{severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,loading:y(I),disabled:y(K),onClick:o[2]||=e=>y(E).refresh()},{icon:h(()=>[v(s,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`disabled`])]),_:1}),y(A)?(d(),T(`div`,le,[v(R,{class:`cui-card`},{content:h(()=>[y(M)?(d(),T(`div`,ue,[v(x,{class:`w-[26px] h-[26px] m-0 shrink-0`,"stroke-width":`5`}),b(`div`,de,[b(`span`,fe,D(y(H)?i.$t(`views.updates.run_updating`,{name:y(H).name}):y(U)?i.$t(`connection.restarting`):i.$t(`views.updates.run_preparing`)),1),v(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:h(()=>[_(D(i.$t(`views.updates.run_progress`,{done:y(B),total:y(z)}))+` `,1),y(J)?(d(),T(l,{key:0},[_(` · `+D(i.$t(`views.updates.run_server_last`)),1)],64)):S(``,!0)]),_:1})]),v(c,{severity:`secondary`,class:`cui-button-medium shrink-0`,disabled:y(F),label:y(F)?i.$t(`views.updates.cancelling`):i.$t(`components.form.button.cancel`),onClick:o[3]||=e=>y(E).cancelRun()},null,8,[`disabled`,`label`])])):y(q)?(d(),T(`div`,pe,[v(O,{class:`w-7 h-7 shrink-0 text-success`}),b(`div`,me,[b(`span`,he,D(i.$t(`views.updates.all_up_to_date`)),1),v(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:h(()=>[_(D(i.$t(`views.updates.checked_at`,{time:y(Z)})),1)]),_:1})])])):(d(),T(`div`,ge,[v(P,{class:`w-7 h-7 shrink-0 text-primary`}),b(`div`,_e,[b(`span`,ve,D(i.$t(`views.updates.pending_count`,{count:y(V)})),1),v(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:h(()=>[_(D(y(J)?i.$t(`views.updates.summary_server_hint`):i.$t(`views.updates.checked_at`,{time:y(Z)})),1)]),_:1})]),v(c,{class:`cui-button-medium shrink-0 ml-auto`,disabled:y(K),label:i.$t(`views.updates.update_all`),onClick:o[4]||=e=>y(E).updateAll()},null,8,[`disabled`,`label`])]))]),_:1}),(d(!0),T(l,null,f(y(X),e=>(d(),T(`div`,{key:e.kind},[b(`span`,ye,D(e.title),1),v(R,{class:`cui-card`},{content:h(()=>[b(`div`,be,[(d(!0),T(l,null,f(e.items,(e,t)=>(d(),T(`div`,{key:e.id,class:ee([`flex items-center gap-4 py-3`,{"border-t border-surface":t>0}])},[e.status===`updating`||e.status===`restarting`?(d(),g(x,{key:0,class:`w-[22px] h-[22px] m-0 shrink-0`,"stroke-width":`5`})):e.status===`success`||e.status===`uptodate`?(d(),g(Y,{key:1,class:`w-[22px] h-[22px] shrink-0 text-success`})):e.status===`error`?(d(),g(Te,{key:2,class:`w-[22px] h-[22px] shrink-0 text-red-500`})):e.status===`blocked`?(d(),g(Ee,{key:3,class:`w-[22px] h-[22px] shrink-0 text-muted`})):(d(),g(De,{key:4,class:`w-[22px] h-[22px] shrink-0 text-primary`})),b(`div`,xe,[b(`span`,Se,D(e.name),1),e.packageName?(d(),T(`span`,Ce,D(e.packageName),1)):S(``,!0),v(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint truncate`},{default:h(()=>[e.status===`error`?(d(),T(l,{key:0},[_(D(e.error),1)],64)):e.status===`restarting`?(d(),T(l,{key:1},[_(D(i.$t(`connection.restarting`)),1)],64)):e.status===`blocked`?(d(),T(l,{key:2},[_(D(we(e)),1)],64)):e.status===`uptodate`?(d(),T(l,{key:3},[_(`v`+D(e.installedVersion)+` · `+D(i.$t(`views.updates.up_to_date`)),1)],64)):e.status===`success`?(d(),T(l,{key:4},[_(D(i.$t(`views.updates.updated_to`,{version:e.latestVersion})),1)],64)):(d(),T(l,{key:5},[_(`v`+D(e.installedVersion)+` → v`+D(e.latestVersion),1)],64))]),_:2},1024)]),e.status===`pending`||e.status===`error`?(d(),T(l,{key:5},[m((d(),g(c,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md shrink-0`,onClick:t=>Q(e)},{icon:h(()=>[v(Oe,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:i.$t(`components.form.label.changelog`)},void 0,{top:!0}]]),v(c,{severity:`secondary`,outlined:``,class:`cui-button-medium shrink-0`,disabled:e.kind===`server`?y(K):y(M)||y(G),label:e.status===`error`?i.$t(`views.updates.retry`):i.$t(`components.form.button.update`),onClick:t=>y(E).updateItem(e.id)},null,8,[`disabled`,`label`,`onClick`])],64)):S(``,!0)],2))),128))])]),_:2},1024)]))),128))])):(d(),T(`div`,ce,[v(x,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]))])}}});export{X as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Mn as e,Yn as t,an as n,hr as r,in as i,mn as a,sr as o,yr as s}from"./vendor-AX0A8AMd.js";import{w as c}from"./vendor-primevue-DXXRO7Z5.js";import{i as l}from"./flowSchema-BFZ6n5Su.js";var u={class:`flex items-center justify-between gap-3 w-full min-w-0`},d={class:`truncate`},f={class:`text-[10px] text-muted font-mono shrink-0`},p=a({__name:`VariableInput`,props:{modelValue:{},nodeId:{},placeholder:{}},emits:[`update:modelValue`],setup(a,{emit:p}){let m=a,h=p,{options:g}=l(()=>m.nodeId),_=o([]),v=o(``);function y(e){let t=e.query.toLowerCase();v.value=e.query,t?_.value=g.value.filter(e=>e.label.toLowerCase().includes(t)||e.value.toLowerCase().includes(t)):_.value=[...g.value]}function b(e){let t=m.modelValue??``;v.value&&t.toLowerCase().endsWith(v.value.toLowerCase())&&(t=t.slice(0,t.length-v.value.length)),h(`update:modelValue`,t+e.value.value)}function x(e){typeof e==`string`&&h(`update:modelValue`,e)}return(o,l)=>{let p=c;return e(),n(p,{"model-value":a.modelValue,suggestions:r(_),"option-label":`label`,placeholder:a.placeholder,class:`w-full`,fluid:``,dropdown:``,"dropdown-mode":`blank`,onComplete:y,onItemSelect:b,"onUpdate:modelValue":x},{option:t(({option:e})=>[i(`div`,u,[i(`span`,d,s(e.label),1),i(`span`,f,s(e.value),1)])]),_:1},8,[`model-value`,`suggestions`,`placeholder`])}}});export{p as t};
|
package/dist/interface/assets/{VariableSuggestions-BGxZxS6U.js → VariableSuggestions-DZbWgsck.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{zr as e}from"./vendor-cameraui-
|
|
1
|
+
import{zr as e}from"./vendor-cameraui-ZyqPntQ7.js";import{$t as t,Mn as n,Pn as r,Yn as i,an as a,hr as o,in as s,mn as c,on as l,sn as u}from"./vendor-AX0A8AMd.js";import{T as d,c as f}from"./vendor-primevue-DXXRO7Z5.js";var p={class:`flex flex-wrap gap-1`},m=c({__name:`VariableSuggestions`,props:{variables:{}},emits:[`select`],setup(c){let{t:m}=e();return(e,h)=>{let g=d,_=f;return c.variables.length?(n(),a(_,{key:0,header:o(m)(`components.automation_nodes.available_variables`),toggleable:``,collapsed:``,pt:{root:{class:`border-0`},header:{class:`py-1.5 px-0 text-xs`},content:{class:`px-0 py-2`},headerActions:{class:`flex`}},"toggle-button-props":{class:`w-4 h-4 p-0`,text:!0,rounded:!0,severity:`secondary`}},{default:i(()=>[s(`div`,p,[(n(!0),u(t,null,r(c.variables,t=>(n(),a(g,{key:t.value,label:t.label,class:`text-[10px] cursor-pointer hover:bg-primary/10 active:bg-primary/20`,onClick:n=>e.$emit(`select`,t.value)},null,8,[`label`,`onClick`]))),128))])]),_:1},8,[`header`])):l(``,!0)}}});export{m as t};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{Pt as e,zr as t}from"./vendor-cameraui-ZyqPntQ7.js";import{Mn as n,xr as r}from"./api-2VPaKkqc.js";import{$t as ee,An as i,J as a,Kn as o,Mn as s,Pn as te,Wn as c,dn as ne,fn as l,hr as u,in as d,jn as f,mn as p,nr as m,on as h,pr as re,rn as g,sn as _,sr as v,t as ie,yn as y,yr as b}from"./vendor-AX0A8AMd.js";import{K as ae,j as oe}from"./vendor-primevue-DXXRO7Z5.js";import{t as se}from"./server-CaRDiFTF.js";import{n as ce}from"./useServerRestart-XnqHaTb7.js";import{t as le}from"./alert-circle-We_nDFAy.js";import{t as ue}from"./plugins-CGDE1O2F.js";import{t as de}from"./CuiConsole-CMxpzZ51.js";import{t as fe}from"./useLogsSocket-BKPqNCOv.js";import{t as pe}from"./CuiMarkdownContent-gJ8gvmYA.js";import{t as me}from"./platformLabels-D-cF6OTP.js";import{t as he}from"./config-soN-D-nC.js";import{t as ge}from"./useUpdateChannel-CjxdE3h1.js";function x(e){return`id`in e&&!(`type`in e)}function S(e){return`type`in e}var _e={key:0},ve={key:0,class:`flex items-start gap-3 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30 mb-3`},ye={class:`flex flex-col gap-1 min-w-0`},be={class:`text-sm font-semibold text-orange-400`},xe={key:0},Se={class:`text-xs text-orange-600 dark:text-orange-300`},Ce={class:`text-sm text-orange-400`},we={key:1},Te={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},Ee={key:2},De={class:`text-muted`},Oe={class:`flex items-center gap-4 mt-4 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30`},ke={class:`flex flex-col gap-1 min-w-0`},Ae={class:`text-sm font-semibold text-orange-400`},je={class:`text-xs text-orange-600 dark:text-orange-300`},Me={key:3},Ne={class:`cui-label`},Pe={key:4,class:`w-full h-full relative`},Fe={key:5,class:`w-full h-full p-4 flex items-center justify-center`},Ie=`2.0.0`,C=p({__name:`VersionsHandler`,props:{target:{},installVersion:{},action:{}},setup(p,{expose:C}){let w=new ue,T=new se,Le=new he,Re=a(),E=p,D=r(),{t:O}=t(),{mdBreakpoint:k}=n(),{beginServerRestart:ze}=ce(),{isBeta:Be}=ge(),A=y(`dialogRef`),j=y(`dialogRefProps`),{target:M,installVersion:N}=re(E),P=v();w.toggleQueryActivator(`getPluginVersionsQuery`,!1),w.toggleQueryActivator(`getPluginChangelogQuery`,!1),w.toggleQueryActivator(`getPluginCompatQuery`,!1),T.toggleQueryActivator(`checkVersionQuery`,!1),T.toggleQueryActivator(`getServerChangelogQuery`,!1);let Ve=g(()=>x(M.value)?M.value.pluginName:`server`),F=g(()=>E.action===`uninstall`&&x(M.value)),I=fe({target:Ve.value,onStdout:e=>V.value?.writeTerminal(e),onDisconnect:()=>V.value?.writeTerminal(`
|
|
2
|
+
\rWebsocket failed to connect! Is the server running?\r
|
|
3
|
+
\r
|
|
4
|
+
`),onClearLog:()=>V.value?.clearTerminal(),onReconnected:()=>{V.value?.writeTerminal(`\r
|
|
5
|
+
--- Reconnected ---\r
|
|
6
|
+
\r
|
|
7
|
+
`)}}),L=g(()=>({pluginversion:P.value||N.value})),He=g(()=>P.value||N.value||``),{data:Ue,isBusy:R}=T.checkVersionQuery(),{data:We}=Le.getConfigQuery(!0),{data:Ge,isBusy:z}=w.getPluginVersionsQuery(x(M.value)?M.value.pluginName:``),{data:Ke,isBusy:qe,suspense:Je}=w.getPluginChangelogQuery(x(M.value)?M.value.pluginName:``,L),{data:Ye,isBusy:Xe,suspense:Ze}=T.getServerChangelogQuery(He),{data:B,suspense:Qe}=w.getPluginCompatQuery(x(M.value)?M.value.pluginName:``,L),{mutate:$e,isPending:et}=T.restartServerQuery(),{mutateAsync:tt,isPending:nt}=w.installPluginQuery(),{mutateAsync:rt,isPending:it}=w.uninstallPluginQuery(),{mutateAsync:at,isPending:ot}=T.updateServerQuery(),V=c(`consoleRef`),H=v(!1),U=v(!1),W=v(!1),G=v(!1),K=v(!1),q=v(!1),J=v(!1),Y=v(!1),X=v(!1),st=g(()=>z.value||R.value),ct=g(()=>!!(j.loading?.value||z.value||R.value||qe.value||Xe.value||nt.value||it.value||ot.value||et.value)),lt=g(()=>{let e=We.value;return e&&typeof e!=`string`?e.plugins?.betaVersions??!1:!1}),Z=g(()=>x(M.value)?(Ge.value?.versions||[]).filter(e=>lt.value||!e.includes(`-`)):S(M.value)?(Ue.value?.versions||[]).filter(e=>ie(e,Ie)>=0).filter(e=>Be.value||!e.includes(`-`)):[]),ut=g(()=>B.value?.issues??[]),dt=g(()=>B.value?.platformCompatible===!1),ft=g(()=>me(B.value?.os,B.value?.cpu)),pt=g(()=>x(M.value)?Ke.value:Ye.value),mt=g(()=>({fontSize:k.value?12:14}));function Q(){H.value=!0,I.connect()}async function ht(){if(x(M.value))try{w.toggleQueryActivator(`getPluginChangelogQuery`,!0);let{isError:e}=await Je();if(e)throw Error(`Failed to fetch changelog`);U.value=!0}catch{}else if(S(M.value))try{T.toggleQueryActivator(`getServerChangelogQuery`,!0);let{isError:e}=await Ze();if(e)throw Error(`Failed to fetch changelog`);U.value=!0}catch{}}async function gt(){if(x(M.value))try{w.toggleQueryActivator(`getPluginCompatQuery`,!0),await Qe(),(ut.value.length||dt.value)&&(J.value=!0)}catch{}}function _t(e){return S(M.value)?!0:!(!x(M.value)||M.value.private||e===M.value.installedVersion)}async function $(e){if(!U.value&&_t(e)&&(await ht(),U.value)){j.confirmText&&(j.confirmText.value=O(`components.form.button.continue`)),q.value=!0;return}if(!Y.value&&(Y.value=!0,await gt(),J.value)){j.confirmText&&(j.confirmText.value=O(`components.form.button.continue`)),X.value=!0;return}Q();try{if(x(M.value))await tt({pluginData:{pluginname:M.value.pluginName,pluginversion:e}});else if(S(M.value)){await at({serverData:{version:e}}),Re.invalidateQueries({queryKey:[`api`]}),ze(),$e(),A.value.close();return}W.value=!0,j.confirmText&&(j.confirmText.value=O(`components.form.button.finish`))}catch(e){D.add({severity:`error`,detail:e,life:3e3})}}async function vt(){if(x(M.value)){Q();try{await rt({pluginName:M.value.pluginName,removeStorage:K.value}),G.value=!0,j.confirmText&&(j.confirmText.value=O(`components.form.button.finish`))}catch(e){D.add({severity:`error`,detail:e,life:3e3})}}}async function yt(){if(F.value)return G.value?void 0:(await vt(),null);if(!W.value)return q.value?(q.value=!1,N.value?await $(N.value):P.value&&await $(P.value),null):X.value?(X.value=!1,N.value?await $(N.value):P.value&&await $(P.value),null):N.value?(await $(N.value),null):P.value?(await $(P.value),null):(D.add({severity:`error`,detail:O(`components.toast.no_version_selected`),life:3e3}),null)}return o(Z,e=>{e.length&&(P.value=e[0])},{immediate:!0,deep:!0}),o(H,e=>{e?A.value.data.dialogContentClass=`not-md:px-0 h-full md:h-[50vh]`:delete A.value.data.dialogContentClass}),o(k,e=>{!e&&(H.value||U.value)&&A.value.options.props&&(A.value.options.props.style.height=`60vh`,A.value.options.props.style.width=`70vh`,A.value.options.props.style.maxWidth=`100%`)}),i(()=>{F.value||(N.value?$(N.value):x(M.value)?w.toggleQueryActivator(`getPluginVersionsQuery`,!0):S(M.value)&&T.toggleQueryActivator(`checkVersionQuery`,!0))}),f(()=>{I.disconnect()}),C({isLoading:ct,onConfirm:yt}),(t,n)=>{let r=le,i=pe,a=ae,o=oe,c=de,f=e;return s(),_(`div`,null,[u(J)&&!u(H)?(s(),_(`div`,_e,[u(dt)?(s(),_(`div`,ve,[l(r,{class:`w-5 h-5 shrink-0 text-orange-400 mt-0.5`}),d(`div`,ye,[d(`span`,be,[ne(b(t.$t(`components.plugin_search.incompatible_system`)),1),u(ft)?(s(),_(`span`,xe,` — `+b(u(ft)),1)):h(``,!0)]),d(`span`,Se,b(t.$t(`components.plugin_search.incompatible_worker_hint`)),1)])])):h(``,!0),(s(!0),_(ee,null,te(u(ut),e=>(s(),_(`div`,{key:e.engine,class:`flex items-start gap-3 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30 mb-3`},[l(r,{class:`w-5 h-5 shrink-0 text-orange-400 mt-0.5`}),d(`span`,Ce,b(t.$t(`components.dialog.message.compatibility_engine`,{engine:e.engine,required:e.required,current:e.current})),1)]))),128))])):u(U)&&u(pt)&&!u(H)?(s(),_(`div`,we,[d(`h3`,Te,b(t.$t(`components.form.label.changelog`)),1),l(i,{content:u(pt)},null,8,[`content`])])):u(F)&&!u(H)?(s(),_(`div`,Ee,[d(`p`,De,b(t.$t(`components.dialog.message.confirm_uninstall_plugin`)),1),d(`div`,Oe,[d(`div`,ke,[d(`span`,Ae,b(t.$t(`components.dialog.message.uninstall_remove_storage`)),1),d(`span`,je,b(t.$t(`components.dialog.message.uninstall_remove_storage_hint`)),1)]),l(a,{modelValue:u(K),"onUpdate:modelValue":n[0]||=e=>m(K)?K.value=e:null,class:`ml-auto shrink-0`},null,8,[`modelValue`])])])):!u(N)&&!u(H)&&!u(U)?(s(),_(`div`,Me,[d(`label`,Ne,b(t.$t(`components.form.label.version`)),1),l(o,{modelValue:u(P),"onUpdate:modelValue":n[1]||=e=>m(P)?P.value=e:null,options:u(Z),loading:u(st),class:`w-full mt-2`},null,8,[`modelValue`,`options`,`loading`])])):u(H)?(s(),_(`div`,Pe,[l(c,{ref_key:`consoleRef`,ref:V,options:u(mt),class:`bg-black !w-full`,"ignore-breakpoint":``,onResize:u(I).reportSize},null,8,[`options`,`onResize`])])):(s(),_(`div`,Fe,[l(f,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]))])}}});export{C as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as e,zr as t}from"./vendor-cameraui-ZyqPntQ7.js";import{xr as n}from"./api-2VPaKkqc.js";import{Cn as r,Kt as i,Mn as a,Wn as o,Yn as s,an as c,b as l,fn as u,hr as d,in as f,mn as p,nr as m,rn as h,sr as g,v as _,y as v,yr as y}from"./vendor-AX0A8AMd.js";import{A as b,D as x}from"./types-BHgaZSm2.js";import{j as S}from"./vendor-primevue-DXXRO7Z5.js";var C={for:`virtualSensorType`,class:`cui-label`},w={for:`virtualSensorName`,class:`cui-label`},T=p({__name:`VirtualSensorCreate`,props:{cameraId:{}},setup(p,{expose:T}){let E=p,{t:D}=t(),O=n(),k=x.omit({cameraId:!0}),A=o(`formRef`),j=g(b[0]),M=g(``),N=h(()=>b.map(e=>({label:D(`components.camera_options.sensor_type_${e}`),value:e})));return T({onConfirm:async()=>(await A.value?.validate())?.valid?{cameraId:E.cameraId,type:j.value,name:M.value.trim()}:(O.add({severity:`error`,detail:D(`components.toast.validation_failed`),life:3e3}),null)}),(t,n)=>{let o=S,p=e;return a(),c(d(l),{ref_key:`formRef`,ref:A,class:`flex flex-col gap-4 w-full`,"validation-schema":d(k)},{default:s(()=>[u(d(v),{"model-value":d(j),name:`type`,as:`div`,class:`flex flex-col field-gap`},{default:s(({errors:e})=>[f(`label`,C,y(t.$t(`components.form.label.type`)),1),u(o,{id:`virtualSensorType`,"model-value":d(j),options:d(N),"option-label":`label`,"option-value":`value`,invalid:e.length>0,class:`w-full`,onValueChange:n[0]||=e=>j.value=e},null,8,[`model-value`,`options`,`invalid`]),u(i,{name:`fade`},{default:s(()=>[u(d(_),{name:`type`,class:`cui-input-error`})]),_:1})]),_:1},8,[`model-value`]),u(d(v),{modelValue:d(M),"onUpdate:modelValue":n[1]||=e=>m(M)?M.value=e:null,modelModifiers:{trim:!0},name:`name`,as:`div`,class:`flex flex-col field-gap`},{default:s(({field:e,errors:n})=>[f(`label`,w,y(t.$t(`components.form.label.name`)),1),u(p,r({id:`virtualSensorName`},e,{invalid:n.length>0,class:`w-full`,placeholder:t.$t(`components.camera_options.virtual_sensor_name_placeholder`)}),null,16,[`invalid`,`placeholder`]),u(i,{name:`fade`},{default:s(()=>[u(d(_),{name:`name`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`validation-schema`])}}});export{T as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{F as e,G as t,Pt as n,Rt as r,zr as i}from"./vendor-cameraui-ZyqPntQ7.js";import{$n as a,B as o,It as s,Mn as c,R as l,_t as ee,ct as u,gt as te,i as ne,kn as d,nr as re,pr as f,xr as p}from"./api-2VPaKkqc.js";import{$t as ie,En as ae,Kn as m,Mn as h,Qn as g,Yn as _,an as v,ar as y,dn as b,fn as x,hr as S,in as C,jn as w,mn as T,nr as E,on as D,rn as O,sn as k,sr as A,wn as j,yr as M}from"./vendor-AX0A8AMd.js";import{K as oe,L as se,R as ce,S as le,_ as ue,j as de,z as fe}from"./vendor-primevue-DXXRO7Z5.js";import{t as pe}from"./api-COPnjVh2.js";import{t as me}from"./plugins-CGDE1O2F.js";import{t as he}from"./CuiDataTable-f_QVzRqq.js";import{t as ge}from"./back-filled-MAIFvJqE.js";import{t as _e}from"./pencil-outline-B5N-eyTy.js";import{r as ve,t as ye}from"./CuiChartTable-BeEij8SL.js";import{n as be,t as xe}from"./updates-DelnBMM3.js";var N={class:`flex flex-col gap-2 w-full`},P={for:`workerName`,class:`cui-label`},Se=T({__name:`RenameWorker`,props:{currentName:{}},setup(t,{expose:n}){let r=A(t.currentName);return n({onConfirm:async()=>r.value.trim()||null}),(t,n)=>{let i=e;return h(),k(`div`,N,[C(`label`,P,M(t.$t(`views.workers.name`)),1),x(i,{id:`workerName`,modelValue:S(r),"onUpdate:modelValue":n[0]||=e=>E(r)?r.value=e:null,class:`w-full`,autofocus:``},null,8,[`modelValue`])])}}}),F=y({workers:[],workerHistory:{}}),I=null,L=null;function Ce(e){let t=F.workers.findIndex(t=>t.agentId===e.agentId);if(t!==-1){let n=[...F.workers];n[t]=e,F.workers=n}else F.workers=[...F.workers,e];let n=F.workerHistory[e.agentId]??[];F.workerHistory={...F.workerHistory,[e.agentId]:[...n,e].slice(-30)}}async function we(){if(L?.ready.value)try{F.workers=await L.request(`get-workers`)}catch{}}async function Te(){if(L?.ready.value)try{F.workerHistory=await L.request(`get-worker-history`)}catch{}}async function R(){await Promise.all([we(),Te()])}function Ee(){return L||(I=g(!0),I.run(()=>{let e=f(`/workers`);L=e,e.on(`worker-update`,e=>Ce(e)),e.on(`worker-removed`,({agentId:e})=>{F.workers=F.workers.filter(t=>t.agentId!==e);let t={...F.workerHistory};delete t[e],F.workerHistory=t}),e.onReady(()=>{R()})}),L)}function De(){function e(){Ee()}function t(){}return{isConnected:O(()=>L?.connected.value??!1),workers:O(()=>F.workers),workerHistory:O(()=>F.workerHistory),connect:e,disconnect:t,loadAll:R}}var Oe={key:0,class:`page-title`},ke={key:1,class:`w-full h-full flex items-center justify-center`},Ae={key:2,class:`flex flex-col w-full gap-6`},je={class:`card-title`},Me={class:`flex flex-col gap-6`},Ne={class:`flex items-center gap-4`},Pe={class:`flex flex-col field-switch-gap`},Fe={class:`cui-label-switch`},Ie={class:`flex flex-col field-gap`},Le={for:`master-address`,class:`cui-label`},Re={class:`flex flex-col field-gap`},ze={for:`leaf-port`,class:`cui-label`},Be={class:`flex flex-row items-end justify-end`},Ve={key:0},He={class:`card-title`},Ue={class:`flex flex-col items-center justify-center gap-4 py-6`},We={class:`text-muted text-sm`},Ge={key:1},Ke={class:`card-title`},qe={class:`text-sm block mb-6`},Je={class:`text-muted text-sm`},Ye={class:`font-bold text-color text-sm`},Xe={key:2},Ze={class:`card-title`},Qe={class:`text-sm block mb-6`},$e={class:`text-muted text-sm`},et={class:`flex flex-col`},tt={class:`font-bold text-color text-sm`},nt={key:0,class:`text-muted text-xs`},rt={key:3},it={class:`card-title`},at={class:`flex flex-col gap-6`},ot={class:`text-sm`},st={class:`flex flex-col field-gap`},ct={class:`cui-label`},lt={class:`flex flex-col field-gap`},ut={class:`flex flex-row items-center justify-between`},dt={class:`cui-label`},ft={class:`pairing-snippet`},pt={class:`flex flex-row items-end justify-end`},mt=d(T({__name:`Workers`,setup(d){let{t:f}=i(),{smBreakpoint:g}=c(),y=u(),T=xe(),N=p(),P=De(),{workers:F,workerHistory:I,isConnected:L}=P,Ce=new pe,we=new s,Te=new me,R=new be,{data:Ee,isLoading:mt}=we.getCamerasQuery(A({page:1,pageSize:999})),{data:ht,isLoading:gt}=Te.getPluginsQuery(A({page:1,pageSize:999})),{data:z}=R.getConfigQuery(),{mutateAsync:_t,isPending:vt}=R.patchConfigQuery(),{mutateAsync:yt}=R.assignCameraQuery(),{mutateAsync:bt}=R.unassignCameraQuery(),{mutateAsync:xt}=R.restartWorkerQuery(),{mutateAsync:St}=R.updateWorkerQuery(),{mutateAsync:Ct,isPending:wt}=R.createPairingQuery(),{mutateAsync:Tt}=R.removeWorkerQuery(),{mutateAsync:Et}=R.assignPluginQuery(),{mutateAsync:Dt}=R.unassignPluginQuery(),{mutateAsync:Ot}=R.renameWorkerQuery(),{data:kt}=Ce.apiInfoQuery(),At={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm font-semibold`}}},jt=A(!1),B=A([]),V=A([]),H=A([]),U=A(new Set),W=A(new Set),G=A(null),K=A(``),q=A(7422),Mt=!1,J=new Map,Nt=O(()=>Ee.value?.result??[]),Pt=O(()=>ht.value?.result??[]),Y=O(()=>z.value?.enabled??!1),Ft=O(()=>(z.value?.suggestedAddresses??[]).map(e=>({label:e,value:e}))),X=O(()=>q.value!==(z.value?.port??7422)),It=O(()=>K.value!==(z.value?.address??``)||X.value),Lt=O(()=>new Set(F.value.map(e=>e.agentId))),Z=O(()=>T.targetServerVersion??kt.value?.version),Rt=O(()=>G.value?Math.max(0,Math.round((G.value.expiresAt-Date.now())/6e4)):0),zt=O(()=>G.value?[`worker:`,` master: ${G.value.address||`<MASTER_IP>`}`,` apiPort: ${G.value.apiPort}`,` pairingCode: ${G.value.code}`,` name: my-worker`,` capabilities:`,` - frameDecoding`,` - pluginHost`].join(`
|
|
2
|
+
`):``),Bt=O(()=>[{type:`indicator`,field:`status`,columnProps:{headerClass:`w-5 max-w-5`,class:`w-5 max-w-5`},color(e){return e.online?e.versionMismatch?`orange`:`green`:`red`},tooltip(e){return e.online?e.update?.error?f(`views.workers.update_failed`,{error:e.update.error}):e.update?.updating?f(`views.workers.updating`):e.versionMismatch?f(`views.workers.version_mismatch`,{version:e.version||`?`}):f(`views.workers.online`):f(`views.workers.offline`)}},{type:`category`,field:`name`,name:f(`views.workers.name`),columnProps:{headerClass:`w-40 min-w-40 max-w-40`,class:`w-40 min-w-40 max-w-40`},props:{class:`font-bold text-color`}},{type:`category`,field:e=>e.version?e.versionMismatch&&Z.value?`v${e.version} → v${Z.value}`:`v${e.version}`:`—`,name:f(`views.workers.version`),asChip:!0,columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`category`,field:e=>e.platform?`${e.platform.os}/${e.platform.arch}`:`—`,name:f(`views.workers.platform`),asChip:!0,columnProps:{headerClass:`min-w-40`,class:`min-w-40`}},{type:`category`,field:e=>e.pid?.toString()??`—`,name:f(`views.workers.pid`),columnProps:{headerClass:`min-w-20`,class:`min-w-20`}},{type:`category`,field:e=>e.cpuLoad===void 0?`—`:`${e.cpuLoad}%`,name:f(`views.workers.cpu`),asChip:!0,columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`chart`,field:`cpu_chart`,for:`cpuLoad`,columnProps:{headerClass:`min-w-[250px]`,class:`min-w-[250px]`}},{type:`category`,field:e=>e.memLoad===void 0?`—`:`${e.memLoad}%`,name:f(`views.workers.memory`),asChip:!0,columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`chart`,field:`memory_chart`,for:`memLoad`,columnProps:{headerClass:`min-w-[250px]`,class:`min-w-[250px]`}},{type:`action`,field:`actions`,columnProps:{class:`text-right`},buttons:[{icon:_e,buttonProps:{severity:`secondary`},tooltip:()=>f(`views.workers.rename_worker`),action:e=>Ht(e)},{icon:a,buttonProps:{severity:`secondary`},loading:e=>e.update?.updating||H.value.includes(e.agentId),disabled:e=>!e.online||!e.versionMismatch||!e.update?.updatable,tooltip:e=>Ut(e),action:e=>Wt(e.agentId)},{icon:ve,buttonProps:{severity:`secondary`},loading:e=>B.value.includes(e.name),disabled:e=>!e.online,tooltip:()=>f(`views.workers.restart_worker`),action:e=>Gt(e.name,e.agentId)},{icon:l,buttonProps:{severity:`danger`},loading:e=>V.value.includes(e.agentId),tooltip:()=>f(`views.workers.remove_worker`),action:e=>rn(e)}]}]),Vt=O(()=>{let e=I.value;return F.value.reduce((t,n)=>{for(let r of[`cpuLoad`,`memLoad`]){let i=e[n.agentId]??[],a=i.slice(-30).filter(e=>e[r]!==void 0).map(e=>parseFloat(e[r])),o=i.slice(-30).map(e=>e.lastHeartbeat),s=[...a,...Array(30-a.length).fill(0)],c=[...o,...Array(30-o.length).fill(null)];t[`${n.name}_${r}`]={labels:c,datasets:[{data:s,backgroundColor:e=>{let t=e.raw;return t>=90?`#FA5252`:t>=50?`#FF9966`:`#df2a4c`},borderWidth:0,borderRadius:3,barPercentage:.8,categoryPercentage:.8,maxBarThickness:4,barThickness:4}]}}return t},{})});function Ht(e){y.openComponentDialog(Se,{data:{title:f(`views.workers.rename_worker`),confirmText:f(`views.workers.save`),contentProps:{currentName:e.name}},onConfirm:async t=>{!t||t===e.name||await Ot({agentId:e.agentId,name:t})}})}function Ut(e){return e.update?.updating?f(`views.workers.updating`):Z.value?f(`views.workers.update_worker`,{version:Z.value}):f(`views.workers.update_worker_short`)}async function Wt(e){J.delete(e),H.value.push(e);try{await St({agentId:e})}finally{H.value=H.value.filter(t=>t!==e)}}async function Gt(e,t){B.value.push(e);try{await xt(t)}finally{B.value=B.value.filter(t=>t!==e)}}function Kt(){let e=[];for(let t of F.value){let n=t.online?t.name:`${t.name} (${f(`views.workers.offline`).toLowerCase()})`;e.push({label:n,value:t.agentId})}return e}function Q(e){return e&&Lt.value.has(e)?e:null}function qt(e,t){if(!e?.length)return!0;let n=e.filter(e=>e.startsWith(`!`)).map(e=>e.slice(1)),r=e.filter(e=>!e.startsWith(`!`));return n.includes(t)?!1:r.length===0||r.includes(t)}function Jt(e,t){return!t.platform||qt(e.os,t.platform.os)&&qt(e.cpu,t.platform.arch)}function Yt(e){let t=[];return e.os?.length&&t.push(`os: ${e.os.join(`, `)}`),e.cpu?.length&&t.push(`cpu: ${e.cpu.join(`, `)}`),t.join(` · `)}function Xt(e){let t=[];for(let n of F.value){let r=Jt(e,n),i=n.online?``:` (${f(`views.workers.offline`).toLowerCase()})`,a=r?``:` — ${f(`views.workers.incompatible`)}`;t.push({label:`${n.name}${i}${a}`,value:n.agentId,disabled:!r})}return t}function Zt(e){return W.value.has(e)}async function Qt(e,t){if(t===Q(e.workerAgentId))return;let n=new Set(W.value);n.add(e.pluginName),W.value=n;try{t?await Et({pluginName:e.pluginName,agentId:t}):await Dt({pluginName:e.pluginName})}catch{}finally{let t=new Set(W.value);t.delete(e.pluginName),W.value=t}}function $(e){return U.value.has(e)}async function $t(e,t){if(t===Q(e.workerAgentId))return;let n=new Set(U.value);n.add(e._id),U.value=n;try{t?await yt({cameraId:e._id,agentId:t}):await bt({cameraId:e._id})}catch{}finally{let t=new Set(U.value);t.delete(e._id),U.value=t}}async function en(){try{G.value=await Ct()}catch{}}async function tn(e){if(e&&!K.value&&(K.value=z.value?.suggestedAddresses?.[0]??``,!K.value)){y.openTextDialog({data:{title:f(`views.workers.enable_workers`),contentText:f(`views.workers.address_required`),confirmText:f(`views.workers.ok`)}});return}try{await _t(e?{enabled:!0,address:K.value,port:q.value}:{enabled:!1})}catch{}}async function nn(){try{await _t({address:K.value,port:q.value})}catch{}}function rn(e){y.openTextDialog({data:{title:f(`views.workers.remove_worker`),confirmText:f(`views.workers.remove`),contentText:f(`views.workers.remove_worker_confirm`,{name:e.name}),confirmButtonProps:{severity:`danger`}},dialogSize:{desktop:{width:`auto`,maxWidth:`560px`,maxHeight:`90vh`}},onConfirm:async()=>{V.value.push(e.agentId);try{await Tt(e.agentId)}finally{V.value=V.value.filter(t=>t!==e.agentId)}}})}return ae(async()=>{P.connect(),T.connect(),await j(),P.loadAll(),jt.value=!0}),m(z,e=>{e&&(K.value=e.address,q.value=e.port)},{immediate:!0}),m(F,e=>{if(!Mt){if(!e.length)return;for(let t of e)t.update?.error&&J.set(t.agentId,t.update.error);Mt=!0;return}for(let t of e){if(t.update?.updating){J.delete(t.agentId);continue}let e=t.update?.error;if(!e){J.delete(t.agentId);continue}J.get(t.agentId)!==e&&(J.set(t.agentId,e),N.add({severity:`error`,summary:t.name,detail:f(`views.workers.update_failed`,{error:e}),life:6e3}))}}),w(()=>{P.disconnect()}),(i,a)=>{let s=ge,c=r,l=o,u=n,d=fe,f=oe,p=de,ae=ue,m=t,y=ye,w=re,T=le,O=he,A=e,j=ee,pe=se,me=ce;return h(),k(`div`,null,[S(g)?D(``,!0):(h(),k(`h1`,Oe,M(i.$t(`views.workers.title`)),1)),x(l,{position:`left`},{default:_(()=>[x(c,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:a[0]||=e=>i.$router.push(`/menu`)},{icon:_(()=>[x(s,{class:`w-6 h-6`})]),_:1})]),_:1}),!S(jt)||!S(L)?(h(),k(`div`,ke,[x(u,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(h(),k(`div`,Ae,[C(`div`,null,[C(`span`,je,M(i.$t(`views.workers.configuration`)),1),x(m,{class:`cui-card`},{content:_(()=>[C(`div`,Me,[C(`div`,Ne,[C(`div`,Pe,[C(`label`,Fe,M(i.$t(`views.workers.enable_workers`)),1),x(d,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:_(()=>[b(M(i.$t(`views.workers.enable_workers_description`)),1)]),_:1})]),x(f,{"model-value":S(Y),disabled:S(vt),class:`ml-auto shrink-0`,"onUpdate:modelValue":tn},null,8,[`model-value`,`disabled`])]),S(Y)?(h(),k(ie,{key:0},[C(`div`,Ie,[C(`label`,Le,M(i.$t(`views.workers.master_address`)),1),x(p,{modelValue:S(K),"onUpdate:modelValue":a[1]||=e=>E(K)?K.value=e:null,"input-id":`master-address`,options:S(Ft),editable:``,"option-label":`label`,"option-value":`value`,placeholder:i.$t(`views.workers.master_address_placeholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`]),x(d,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:_(()=>[b(M(i.$t(`views.workers.master_address_hint`)),1)]),_:1})]),C(`div`,Re,[C(`label`,ze,M(i.$t(`views.workers.leaf_port`)),1),x(ae,{modelValue:S(q),"onUpdate:modelValue":a[2]||=e=>E(q)?q.value=e:null,"input-id":`leaf-port`,min:1024,max:65535,"use-grouping":!1,class:`w-full`},null,8,[`modelValue`]),S(X)&&(S(z)?.pairedWorkers??0)>0?(h(),v(d,{key:0,severity:`warn`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:_(()=>[b(M(i.$t(`views.workers.port_change_warning`)),1)]),_:1})):D(``,!0)]),C(`div`,Be,[x(c,{class:`cui-button-medium`,label:i.$t(`views.workers.save`),loading:S(vt),disabled:!S(It),onClick:nn},null,8,[`label`,`loading`,`disabled`])])],64)):D(``,!0)])]),_:1})]),S(Y)?(h(),k(`div`,Ve,[C(`span`,He,M(i.$t(`views.workers.workers`)),1),S(F).length?(h(),v(y,{key:0,items:S(F),headers:S(Bt),"chart-data":S(Vt)},null,8,[`items`,`headers`,`chart-data`])):(h(),v(m,{key:1,class:`cui-card`,pt:{root:{class:`h-full`}}},{content:_(()=>[C(`div`,Ue,[x(w,{class:`w-12 h-12 text-muted`}),C(`span`,We,M(i.$t(`views.workers.no_workers`)),1)])]),_:1}))])):D(``,!0),S(Y)&&S(F).length?(h(),k(`div`,Ge,[C(`span`,Ke,M(i.$t(`views.workers.camera_assignments`)),1),x(m,{class:`cui-card`},{content:_(()=>[C(`span`,qe,M(i.$t(`views.workers.camera_assignments_description`)),1),x(O,{value:S(Nt),loading:S(mt),pt:At,"striped-rows":``,class:`w-full`},{loading:_(()=>[x(u,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:_(()=>[C(`span`,Je,M(i.$t(`views.workers.no_cameras`)),1)]),default:_(()=>[x(T,{field:`name`,header:i.$t(`views.workers.camera`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:_(({data:e})=>[C(`span`,Ye,M(e.name),1)]),_:1},8,[`header`]),x(T,{header:i.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:_(({data:e})=>[x(p,{"model-value":Q(e.workerAgentId),options:Kt(),"option-label":`label`,"option-value":`value`,placeholder:i.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:$(e._id),disabled:$(e._id),"onUpdate:modelValue":t=>$t(e,t)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})])):D(``,!0),S(Y)&&S(F).length?(h(),k(`div`,Xe,[C(`span`,Ze,M(i.$t(`views.workers.plugin_assignments`)),1),x(m,{class:`cui-card`},{content:_(()=>[C(`span`,Qe,M(i.$t(`views.workers.plugin_assignments_description`)),1),x(O,{value:S(Pt),loading:S(gt),pt:At,"striped-rows":``,class:`w-full`},{loading:_(()=>[x(u,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:_(()=>[C(`span`,$e,M(i.$t(`views.workers.no_plugins`)),1)]),default:_(()=>[x(T,{field:`displayName`,header:i.$t(`views.workers.plugin`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:_(({data:e})=>[C(`div`,et,[C(`span`,tt,M(e.displayName),1),Yt(e)?(h(),k(`span`,nt,M(Yt(e)),1)):D(``,!0)])]),_:1},8,[`header`]),x(T,{header:i.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:_(({data:e})=>[x(p,{"model-value":Q(e.workerAgentId),options:Xt(e),"option-label":`label`,"option-value":`value`,"option-disabled":`disabled`,placeholder:i.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:Zt(e.pluginName),disabled:Zt(e.pluginName),"onUpdate:modelValue":t=>Qt(e,t)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})])):D(``,!0),S(Y)?(h(),k(`div`,rt,[C(`span`,it,M(i.$t(`views.workers.pair_worker`)),1),x(m,{class:`cui-card`},{content:_(()=>[C(`div`,at,[C(`span`,ot,M(i.$t(`views.workers.pair_worker_description`)),1),S(G)?(h(),k(ie,{key:0},[C(`div`,st,[C(`label`,ct,M(i.$t(`views.workers.pairing_code`)),1),x(me,null,{default:_(()=>[x(A,{"model-value":S(G).code,readonly:``,type:`text`},null,8,[`model-value`]),x(pe,null,{default:_(()=>[x(j,{"action-text":i.$t(`views.workers.copied`),icon:S(te),"button-props":{severity:`secondary`,text:!0},onAction:a[3]||=e=>S(ne)(S(G).code)},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),x(d,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:_(()=>[b(M(i.$t(`views.workers.pairing_expires`,{minutes:S(Rt)})),1)]),_:1})]),C(`div`,lt,[C(`div`,ut,[C(`label`,dt,M(i.$t(`views.workers.pairing_snippet`)),1),x(j,{"action-text":i.$t(`views.workers.copied`),icon:S(te),"button-props":{severity:`secondary`,text:!0},onAction:a[4]||=e=>S(ne)(S(zt))},null,8,[`action-text`,`icon`])]),C(`pre`,ft,M(S(zt)),1),x(d,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:_(()=>[b(M(i.$t(`views.workers.pairing_snippet_hint`)),1)]),_:1})])],64)):D(``,!0),C(`div`,pt,[x(c,{class:`cui-button-medium`,label:i.$t(`views.workers.generate_code`),loading:S(wt),onClick:en},null,8,[`label`,`loading`])])])]),_:1})])):D(``,!0)]))])}}}),[[`__scopeId`,`data-v-11df8752`]]);export{mt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Mn as e,in as t,rr as n,sn as r}from"./vendor-AX0A8AMd.js";var i={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function a(n,a){return e(),r(`svg`,i,[...a[0]||=[t(`path`,{fill:`currentColor`,d:`M12 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4`},null,-1)]])}var o=n({name:`mdi-account`,render:a});export{o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e}from"./vendor-ace-Bxj8w-af.js";export default e();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{a as t,i as n,n as r,o as i,r as a,s as o,t as s}from"./vendor-ace-
|
|
1
|
+
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{a as t,i as n,n as r,o as i,r as a,s as o,t as s}from"./vendor-ace-Bxj8w-af.js";var c=e(o(),1);s(),c.default.config.setModuleUrl(`ace/mode/yaml`,i),c.default.config.setModuleUrl(`ace/theme/twilight`,t),c.default.config.setModuleUrl(`ace/theme/github`,n),c.default.config.setModuleUrl(`ace/mode/base`,a),c.default.config.setModuleUrl(`ace/mode/yaml_worker`,r),c.default.require(`ace/ext/language_tools`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Mn as e,in as t,rr as n,sn as r}from"./vendor-AX0A8AMd.js";var i={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function a(n,a){return e(),r(`svg`,i,[...a[0]||=[t(`path`,{fill:`currentColor`,d:`M13 13h-2V7h2m0 10h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2`},null,-1)]])}var o=n({name:`mdi-alert-circle`,render:a});export{o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Mn as e,in as t,rr as n,sn as r}from"./vendor-AX0A8AMd.js";var i={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function a(n,a){return e(),r(`svg`,i,[...a[0]||=[t(`path`,{fill:`currentColor`,d:`M12 2L1 21h22M12 6l7.53 13H4.47M11 10v4h2v-4m-2 6v2h2v-2`},null,-1)]])}var o=n({name:`mdi-alert-outline`,render:a});export{o as t};
|