@camera.ui/server 2.1.14 → 2.1.16
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-DRo8zW0F.js → 404-CqZDSHs_.js} +1 -1
- package/dist/interface/assets/{About-DMjE0Qte.js → About-Dk4SUTxo.js} +1 -1
- package/dist/interface/assets/Automation-CDvt2MXN.js +3 -0
- package/dist/interface/assets/AutomationImport-DDywNuRK.js +2 -0
- package/dist/interface/assets/AutomationStore-o0JYwGRr.js +2 -0
- package/dist/interface/assets/AutomationStoreDetail-DeAGahaF.js +2 -0
- package/dist/interface/assets/Automations-2K-7hZfK.js +2 -0
- package/dist/interface/assets/Camera-B72IU-UF.js +2 -0
- package/dist/interface/assets/Camera-Cm9I0H6c.css +1 -0
- package/dist/interface/assets/{CameraConsole-CP_kwVq7.js → CameraConsole-32WtMX1a.js} +1 -1
- package/dist/interface/assets/{Cameras-Bp6P5eQC.js → Cameras-zffI0fD9.js} +2 -2
- package/dist/interface/assets/Camview-CZct5cnP.css +1 -0
- package/dist/interface/assets/Camview-KzzN0Q1w.js +1 -0
- package/dist/interface/assets/{CertificateUpload-CA2PrWb3.js → CertificateUpload-Dg0V9Hei.js} +1 -1
- package/dist/interface/assets/Config-CKrqFe-g.js +2 -0
- package/dist/interface/assets/{ConfigActionCameraControl-BODp6yd4.js → ConfigActionCameraControl-sbvBJQr3.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-ChQOPeXL.js → ConfigActionDelay-CiPxydTn.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-BVeQKfLN.js → ConfigActionHttp-UqiZm0kq.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-B99__kdP.js → ConfigActionImageInput-DkGVZ-ti.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-D595Lo5y.js → ConfigActionMqtt-DQu5H4bY.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-DxzLPmUf.js → ConfigActionNotification-C2uXIMpm.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-Bp4yWebz.js → ConfigActionNotificationControl-B_EpM5m9.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-Di3KaQ_P.js → ConfigActionOutput-DeOsk0T1.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-B7vbDV9n.js → ConfigActionPlugin-CSZHcNQ6.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-Qj0c8MZq.js → ConfigActionSensor-Dx7DcDVr.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-159QrEMJ.js → ConfigActionSnapshot-Baj-r4Cd.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-Bodvejrx.js → ConfigActionVariable-Ccu___aS.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-BMI_mgi3.js → ConfigConditionIfElse-0hU7UW8q.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-DkwjHr31.js → ConfigConditionSensorState-BX19KYLJ.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-ZlqOfRQE.js → ConfigConditionSwitch-D-XUhwcE.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-B2igg9Tb.js → ConfigConditionTime-B6OO8cmh.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-DMnkNDC_.js → ConfigSensorValueInput-DZHYQez8.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-C_ujxraC.js → ConfigTriggerDetection-BNyR5aOG.js} +1 -1
- package/dist/interface/assets/ConfigTriggerGeofence-Cuq1SnOZ.js +1 -0
- package/dist/interface/assets/{ConfigTriggerManual-BVIiZfOj.js → ConfigTriggerManual-DFSTAuUt.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-B7Tf1jOh.js → ConfigTriggerMqtt-D_O8RyrQ.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-CcvA02N3.js → ConfigTriggerSchedule-BFZnBfCM.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-CHCDeFmR.js → ConfigTriggerSensor-D1Tst2wQ.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-0SeQnHSX.js → ConfigTriggerSystem-BNfatCp8.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-t0tFjZ7V.js → ConfigTriggerWebhook--nEO_Odl.js} +1 -1
- package/dist/interface/assets/{Console-B3xhLOhl.js → Console-DkylrXI4.js} +1 -1
- package/dist/interface/assets/{CuiAutomationRunsDialog-hZJsv95Y.js → CuiAutomationRunsDialog-CkMRT1C8.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-DILQuWKb.js +1 -0
- package/dist/interface/assets/CuiBottomSheet-_KXSb13N.css +1 -0
- package/dist/interface/assets/CuiBottomSheet-mKu68LHd.js +1 -0
- package/dist/interface/assets/CuiCameraPipCard-Djp8qBvZ.js +1 -0
- package/dist/interface/assets/CuiCameraRecordings-Bi0I7jeO.js +1 -0
- package/dist/interface/assets/CuiCameraShares-B73pWIFh.js +1 -0
- package/dist/interface/assets/CuiCameraTable-CUdAnRJP.js +1 -0
- package/dist/interface/assets/{CuiCameraTable-CkAeMqcZ.js → CuiCameraTable-DripFD6D.js} +1 -1
- package/dist/interface/assets/{CuiChartTable-CZXvn_Iy.js → CuiChartTable-DyyQV7mt.js} +1 -1
- package/dist/interface/assets/{CuiConsole-CW8Q43cq.js → CuiConsole-UxJwQqNG.js} +2 -2
- package/dist/interface/assets/{CuiDataTable-cN03N7lr.js → CuiDataTable-DZm0I8k7.js} +1 -1
- package/dist/interface/assets/CuiLightControl-CB3l0ZLj.js +1 -0
- package/dist/interface/assets/{CuiList-BI488Ne9.js → CuiList-DMQgYqaU.js} +1 -1
- package/dist/interface/assets/CuiPluginCard-HpQMNND1.js +2 -0
- package/dist/interface/assets/{CuiPluginCategoryChip-5YBKOVmo.js → CuiPluginCategoryChip-C6aEP-ug.js} +1 -1
- package/dist/interface/assets/CuiPluginOAuthButton-DpGacvsa.js +2 -0
- package/dist/interface/assets/{CuiPluginTrustBadge-BFpziu4f.js → CuiPluginTrustBadge-Dl1PEsm6.js} +1 -1
- package/dist/interface/assets/CuiQRCode-D04Onyhk.js +1 -0
- package/dist/interface/assets/CuiRecordingsGrid-BhATIjIf.css +1 -0
- package/dist/interface/assets/CuiRecordingsGrid-BzyJWpFt.js +1 -0
- package/dist/interface/assets/CuiSchema-thjfmEWw.js +1 -0
- package/dist/interface/assets/{CuiTopNavbarItem-CJqOqVMt.css → CuiTopNavbarItem-7673AFGS.css} +1 -1
- package/dist/interface/assets/CuiTopNavbarItem-qPj6XwXr.js +1 -0
- package/dist/interface/assets/Faces-DRWIPDfH.js +1 -0
- package/dist/interface/assets/FirstSteps-C6GVpZVr.js +1 -0
- package/dist/interface/assets/{Floorplan-Bxhdg4C2.css → Floorplan-B1lItPnM.css} +1 -1
- package/dist/interface/assets/Floorplan-Q-UYDnrE.js +1 -0
- package/dist/interface/assets/Instances-VC4-anOF.js +1 -0
- package/dist/interface/assets/{Logs-Bjyi3BKP.js → Logs-DROgZxLH.js} +2 -2
- package/dist/interface/assets/{Menu-BQDo_rxR.js → Menu-CmTk2or7.js} +1 -1
- package/dist/interface/assets/Metrics-CYZF-em9.js +9 -0
- package/dist/interface/assets/{OAuthDeviceFlow-C-a76FaQ.js → OAuthDeviceFlow-BrdiDoCh.js} +1 -1
- package/dist/interface/assets/Plugin-DuPHiiYJ.js +1 -0
- package/dist/interface/assets/{PluginConsole-B5A04A2x.js → PluginConsole-CxiW1w6K.js} +1 -1
- package/dist/interface/assets/PluginDetail-DWP7_hNa.js +2 -0
- package/dist/interface/assets/{PluginSchema-BJEOq6im.js → PluginSchema-BgVZ_4if.js} +1 -1
- package/dist/interface/assets/PluginSearch-1djFQUjL.js +1 -0
- package/dist/interface/assets/PluginSearch-Ba-hQHxm.js +2 -0
- package/dist/interface/assets/{PluginUpdateProgress-BZ-OtZet.js → PluginUpdateProgress-DEcle8-x.js} +1 -1
- package/dist/interface/assets/Plugins-BZ3U4pcG.js +1 -0
- package/dist/interface/assets/Recordings-CI5MIFR-.js +1 -0
- package/dist/interface/assets/Recordings-CfSTX_Mw.css +1 -0
- package/dist/interface/assets/{SensorEdit-CQagiAww.js → SensorEdit-B6s-VZ3F.js} +1 -1
- package/dist/interface/assets/{SensorHistory-DIMTRYRa.js → SensorHistory-H03yZia0.js} +1 -1
- package/dist/interface/assets/Sensors-DDPUwbb-.js +2 -0
- package/dist/interface/assets/{Sensors-CaKl4PQY.css → Sensors-DzGV2Ngo.css} +1 -1
- package/dist/interface/assets/Settings-9nC18KH8.js +1 -0
- package/dist/interface/assets/{Settings-jQIhZFRY.css → Settings-D7495zbV.css} +1 -1
- package/dist/interface/assets/SettingsAccount-BTYvhCJP.js +1 -0
- package/dist/interface/assets/SettingsAccount-CKi0z3Bm.js +1 -0
- package/dist/interface/assets/SettingsAppearance-CDbQnSvl.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-NpsVIJUO.js → SettingsAppearance-D9Y28zzz.js} +1 -1
- package/dist/interface/assets/SettingsBackup-Bu48xw4v.js +1 -0
- package/dist/interface/assets/{SettingsList-BKyyC2_M.js → SettingsList-74c5OMQf.js} +1 -1
- package/dist/interface/assets/SettingsMqtt-81rJ4zV6.js +1 -0
- package/dist/interface/assets/{SettingsNotifications-kKPcCTLM.js → SettingsNotifications-xHV5KiZg.js} +1 -1
- package/dist/interface/assets/{SettingsPermissions-r6wxjmHg.js → SettingsPermissions-DqyVtVKE.js} +1 -1
- package/dist/interface/assets/{SettingsRecordings-GPy1AdjG.js → SettingsRecordings-Bxn28Frz.js} +1 -1
- package/dist/interface/assets/SettingsRemote-7h2dKJlF.js +2 -0
- package/dist/interface/assets/SettingsSystem-D-MLhCdN.js +2 -0
- package/dist/interface/assets/SettingsUsers-DUOJN7uO.js +1 -0
- package/dist/interface/assets/{Terminal-DtvlszuP.js → Terminal-45QW5yPE.js} +2 -2
- package/dist/interface/assets/Training-B5SzDUAC.css +1 -0
- package/dist/interface/assets/Training-DWrQVSS0.js +1 -0
- package/dist/interface/assets/Updates-B32Pra5E.js +2 -0
- package/dist/interface/assets/{VariableInput-C-f6bNmi.js → VariableInput-CyTGQFtz.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-B4LYkbu5.js → VariableSuggestions-BLlD4F87.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-Cxxcwt9W.js → VersionsHandler-CIq6v6lE.js} +1 -1
- package/dist/interface/assets/{VirtualSensorCreate-CrGmWsI7.js → VirtualSensorCreate-Di2IyYAg.js} +1 -1
- package/dist/interface/assets/Workers-tb039NGc.js +2 -0
- package/dist/interface/assets/{api-CD4zuPhg.js → api-4JRK8ya0.js} +1 -1
- package/dist/interface/assets/api-CFf063x3.js +4 -0
- package/dist/interface/assets/api-eoOLTOnS.css +2 -0
- package/dist/interface/assets/{auth-W2HVbsrF.js → auth-ISkWvJbZ.js} +1 -1
- package/dist/interface/assets/{automations-CY5xtQCF.js → automations-CeH81DN-.js} +1 -1
- package/dist/interface/assets/{cameraSources-BSFgVwUz.js → cameraSources-CgAEmb37.js} +1 -1
- package/dist/interface/assets/cloudHandoff-B_kCnm4R.js +1 -0
- package/dist/interface/assets/{config-DOFSd8-0.js → config-DthCyQJv.js} +1 -1
- package/dist/interface/assets/{flowSchema-Bq6CskDh.js → flowSchema-DZ2bDhJt.js} +1 -1
- package/dist/interface/assets/{intercomService-CT_KVjly.js → intercomService-Bd71KwsB.js} +1 -1
- package/dist/interface/assets/main--lW4P3A4.js +3 -0
- package/dist/interface/assets/main-ExPfCNlz.css +1 -0
- package/dist/interface/assets/mqtt-oPORDio9.js +1 -0
- package/dist/interface/assets/{notifications-B_hY7DqC.js → notifications-BirFkpbF.js} +1 -1
- package/dist/interface/assets/{plugins-V5-6e5L7.js → plugins-vyA7MMhx.js} +1 -1
- package/dist/interface/assets/rooms-MfPQPywT.js +1 -0
- package/dist/interface/assets/{sensorIcons-DQIyC9JL.js → sensorIcons-B4H11BbT.js} +1 -1
- package/dist/interface/assets/{sensors-7R3hMa_s.js → sensors-xryx8Wvn.js} +1 -1
- package/dist/interface/assets/{server-CyCTaiWl.js → server-BK9gwxH8.js} +1 -1
- package/dist/interface/assets/{theme-Cc5MIK4j.js → theme-DQeAzJ1v.js} +1 -1
- package/dist/interface/assets/{types-D9iX7VVJ.js → types-Bcj_K26s.js} +1 -1
- package/dist/interface/assets/types-D626ASim.js +1 -0
- package/dist/interface/assets/{types-CDVUPFqE.js → types-kN1Tn2Og.js} +1 -1
- package/dist/interface/assets/ungrouped-C6pQb0X4.css +1 -0
- package/dist/interface/assets/ungrouped-C_gJm6d7.js +1 -0
- package/dist/interface/assets/{updates-H8lZYYSt.js → updates-Dzqxen12.js} +1 -1
- package/dist/interface/assets/{useAppVersion-DuXhWeJY.js → useAppVersion-JY7cdzlr.js} +1 -1
- package/dist/interface/assets/useBackupRestore-CeShFVWy.js +1 -0
- package/dist/interface/assets/{useCameraOptions-CZvujVuW.js → useCameraOptions-BeUNT5Rz.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-DW5Ll9qN.js → useLogsSocket-DDSuX00j.js} +1 -1
- package/dist/interface/assets/{useNavLayout-Ay4GP0IF.js → useNavLayout-DgAgRNq2.js} +1 -1
- package/dist/interface/assets/{usePermissions-tvEa1N9y.js → usePermissions-DFzwIs8L.js} +1 -1
- package/dist/interface/assets/{usePluginUpdates-C6c7mdBo.js → usePluginUpdates-Bb-LOOyL.js} +1 -1
- package/dist/interface/assets/{usePushRegistration-Cp-oFaYU.js → usePushRegistration-iverdyzz.js} +1 -1
- package/dist/interface/assets/{useServerRestart-F0do0_a5.js → useServerRestart-BchofDLe.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-Cof0SieK.js → useStreamStatus-BOJt1v1c.js} +1 -1
- package/dist/interface/assets/{useTabSwipe-CH2JsEKl.js → useTabSwipe-v0Yet-YZ.js} +1 -1
- package/dist/interface/assets/{useUpdateChannel--yUW8uvn.js → useUpdateChannel-K9ADk5yx.js} +1 -1
- package/dist/interface/assets/{useUpdatesSocket-DOHvs02g.js → useUpdatesSocket-sj1-DmFM.js} +1 -1
- package/dist/interface/assets/{useUserOptions-CO_I7IAm.js → useUserOptions-BnF_qBdZ.js} +1 -1
- package/dist/interface/assets/{vendor-cameraui-B96_CDGO.js → vendor-cameraui-BPX4wReW.js} +2 -2
- package/dist/interface/assets/{vendor-core-DFWGbWRD.js → vendor-core-D0ANiY7g.js} +1 -1
- package/dist/interface/assets/{vendor-primevue-uo78flP9.js → vendor-primevue-iEFYdXsu.js} +1 -1
- package/dist/interface/ha/{404-CvCsIvOn.js → 404-DlQnv9jN.js} +1 -1
- package/dist/interface/ha/{About-Bqb-qrXr.js → About-BLQJmllv.js} +6 -6
- package/dist/interface/ha/{Automation-AiOadcvh.js → Automation-DLMPArOd.js} +184 -184
- package/dist/interface/ha/{AutomationImport-CHs99b96.js → AutomationImport-Qzz3Ta4D.js} +6 -6
- package/dist/interface/ha/{AutomationStore-yTxgRNos.js → AutomationStore-DNXC9s6h.js} +51 -51
- package/dist/interface/ha/{AutomationStoreDetail-CWB-S_Dq.js → AutomationStoreDetail-CTqydRKj.js} +24 -24
- package/dist/interface/ha/{Automations-ymrcS6zL.js → Automations-DRxe1fli.js} +102 -102
- package/dist/interface/ha/{Camera-gfUjA1cF.js → Camera-OrI4Wf4F.js} +180 -180
- package/dist/interface/ha/{CameraConsole-DBM_9sZD.js → CameraConsole-6yGhoHmu.js} +4 -4
- package/dist/interface/ha/{Cameras-BDYtuflZ.js → Cameras-DpEaKKDG.js} +253 -253
- package/dist/interface/ha/{Camview-CyZW6Ccj.js → Camview-CnPz4cGs.js} +128 -128
- package/dist/interface/ha/{Config-Dw11VG_z.js → Config-Bb2ERyAA.js} +11 -11
- package/dist/interface/ha/{ConfigActionCameraControl-SpfqepU9.js → ConfigActionCameraControl-CC2tWFz2.js} +3 -3
- package/dist/interface/ha/{ConfigActionHttp-DRNiEJwf.js → ConfigActionHttp-DBsEL44i.js} +2 -2
- package/dist/interface/ha/{ConfigActionImageInput-BKIS7_Az.js → ConfigActionImageInput-Rt3AOJ3I.js} +1 -1
- package/dist/interface/ha/{ConfigActionMqtt-vcKjYONr.js → ConfigActionMqtt-BYSSc954.js} +4 -4
- package/dist/interface/ha/{ConfigActionNotification-C8RqA0hp.js → ConfigActionNotification-DKlIsZJd.js} +3 -3
- package/dist/interface/ha/{ConfigActionNotificationControl-DxDU-1LD.js → ConfigActionNotificationControl-D5AVW2tR.js} +2 -2
- package/dist/interface/ha/{ConfigActionOutput-Dd9tqEbp.js → ConfigActionOutput-DIlu8Ujc.js} +1 -1
- package/dist/interface/ha/{ConfigActionPlugin-hZohlF2U.js → ConfigActionPlugin-o1YNBh-g.js} +4 -4
- package/dist/interface/ha/{ConfigActionSensor-CsTZdgpn.js → ConfigActionSensor-BEvwg0tf.js} +5 -5
- package/dist/interface/ha/{ConfigActionSnapshot-CVuRrZog.js → ConfigActionSnapshot-Bnw0JNNj.js} +2 -2
- package/dist/interface/ha/{ConfigActionVariable-BW0Mfwzv.js → ConfigActionVariable-oGPagsvF.js} +1 -1
- package/dist/interface/ha/{ConfigConditionIfElse-B8giXSLg.js → ConfigConditionIfElse-7LCDNDvS.js} +3 -3
- package/dist/interface/ha/{ConfigConditionSensorState-SOYmnv38.js → ConfigConditionSensorState-nO-s7wi6.js} +4 -4
- package/dist/interface/ha/{ConfigConditionSwitch-DPYRsgIP.js → ConfigConditionSwitch-GrIKkY-P.js} +4 -4
- package/dist/interface/ha/{ConfigSensorValueInput-C8uDea7H.js → ConfigSensorValueInput-Cthp3KXt.js} +7 -7
- package/dist/interface/ha/{ConfigTriggerDetection-DKrNlf4n.js → ConfigTriggerDetection-CJE9QFaK.js} +11 -11
- package/dist/interface/ha/{ConfigTriggerGeofence-BoKYjfEF.js → ConfigTriggerGeofence-Cyeu7Cit.js} +5 -5
- package/dist/interface/ha/{ConfigTriggerMqtt-A0druw9s.js → ConfigTriggerMqtt-D5EoOztE.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSensor-DnqfzsxM.js → ConfigTriggerSensor-DYg_HRjO.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSystem-B8JHImoF.js → ConfigTriggerSystem-DzpajiyS.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerWebhook-B34dHYln.js → ConfigTriggerWebhook-IE4PVb4O.js} +2 -2
- package/dist/interface/ha/{Console-vTZkA5_c.js → Console-BYgny5Dy.js} +100 -100
- package/dist/interface/ha/{CuiAutomationRunsDialog-D1j6QT1J.js → CuiAutomationRunsDialog-CoYgpbW0.js} +2 -2
- package/dist/interface/ha/{CuiBottomSheet-tJqB2HMb.js → CuiBottomSheet-C4cK3fYK.js} +3 -3
- package/dist/interface/ha/{CuiCameraRecordings-CbXShYur.js → CuiCameraRecordings-BAxchc71.js} +16 -15
- package/dist/interface/ha/{CuiCameraShares-fsCg_eYs.js → CuiCameraShares-CfQr1iyX.js} +7 -7
- package/dist/interface/ha/{CuiCameraTable-cCH34Rqx.js → CuiCameraTable-B60mcEl_.js} +9 -9
- package/dist/interface/ha/{CuiChartTable-CMkcRmDL.js → CuiChartTable-CbUVz-Cj.js} +42 -42
- package/dist/interface/ha/{CuiConsole-wuBto4Ht.js → CuiConsole-DEjAQFwC.js} +19 -19
- package/dist/interface/ha/{CuiDataTable-yviddz9T.js → CuiDataTable-005ptLsa.js} +7 -7
- package/dist/interface/ha/{CuiPluginCard-Dr4cFcve.js → CuiPluginCard-BWwPLJ6m.js} +33 -33
- package/dist/interface/ha/CuiPluginOAuthButton-CgmDgRY9.js +79 -0
- package/dist/interface/ha/{CuiPluginTrustBadge-CVwRbaTh.js → CuiPluginTrustBadge-BWnP1whX.js} +3 -3
- package/dist/interface/ha/{CuiQRCode-CTr0g0fy.js → CuiQRCode-ONkk6Wqy.js} +6 -6
- package/dist/interface/ha/{ungrouped-CpcBXTDQ.js → CuiRecordingsGrid-D6HHyF1D.js} +81 -462
- package/dist/interface/ha/{CuiSchema-DtfAoLxQ.js → CuiSchema-C3uI1GwG.js} +138 -138
- package/dist/interface/ha/{CuiTopNavbarItem-4H6Gg0Pe.js → CuiTopNavbarItem-Bhws0XkE.js} +3 -3
- package/dist/interface/ha/{Faces-DSjPW-A-.js → Faces-DuxYlZGd.js} +79 -79
- package/dist/interface/ha/{FirstSteps-BK_EXlZU.js → FirstSteps-BAlqShSK.js} +64 -64
- package/dist/interface/ha/{Floorplan-BWRteZjr.js → Floorplan-BVwSNFd6.js} +332 -332
- package/dist/interface/ha/{Instances-Dln03_o7.js → Instances-BM9sRNSP.js} +73 -73
- package/dist/interface/ha/{Logs-xwh0fkZV.js → Logs-KISz4BU-.js} +11 -11
- package/dist/interface/ha/{Menu-BwzIh1vF.js → Menu-DYI6PeIn.js} +19 -19
- package/dist/interface/ha/{Metrics-CiMXu6rz.js → Metrics-BjpKFunA.js} +101 -101
- package/dist/interface/ha/{OAuthDeviceFlow-D4IUrYub.js → OAuthDeviceFlow-DG-KUGZj.js} +4 -4
- package/dist/interface/ha/{Plugin-CM5b1Jz4.js → Plugin-BjWyUUhe.js} +103 -103
- package/dist/interface/ha/{PluginConsole-BJNblZb5.js → PluginConsole-BK3cotea.js} +6 -6
- package/dist/interface/ha/{PluginDetail--RFw88FL.js → PluginDetail-BDzDeShX.js} +13 -13
- package/dist/interface/ha/{PluginSearch-yzBxy3Zj.js → PluginSearch-DsFUuPC-.js} +54 -54
- package/dist/interface/ha/{PluginUpdateProgress-BaYmaaE7.js → PluginUpdateProgress-BMrdkjRq.js} +3 -3
- package/dist/interface/ha/{Plugins-C-sU0dsj.js → Plugins-3WPnsHXw.js} +27 -27
- package/dist/interface/ha/{Recordings-CXnTN85c.js → Recordings-0wDF4ArK.js} +153 -134
- package/dist/interface/ha/{SensorEdit-ByAfduAA.js → SensorEdit-B0L2zIha.js} +359 -359
- package/dist/interface/ha/{SensorHistory-Cv1YF7qX.js → SensorHistory-CQJEY1sW.js} +2 -2
- package/dist/interface/ha/{Sensors-DyxXLT1C.js → Sensors-BYdBTCLo.js} +251 -251
- package/dist/interface/ha/{Settings-DMBgMUpe.js → Settings-BaqGiBCa.js} +24 -24
- package/dist/interface/ha/SettingsAccount-B0Sth0EF.js +970 -0
- package/dist/interface/ha/{SettingsAppearance-BfXcGIwE.js → SettingsAppearance-B_oylmTa.js} +14 -14
- package/dist/interface/ha/{SettingsBackup-vsITZfgV.js → SettingsBackup-BLmoV5AW.js} +8 -8
- package/dist/interface/ha/{SettingsList-BTxhjM8J.js → SettingsList-CMX7wMye.js} +5 -5
- package/dist/interface/ha/{SettingsMqtt-JHf9BXbp.js → SettingsMqtt-C-sGwxOZ.js} +148 -148
- package/dist/interface/ha/SettingsNotifications-tc9FCCUF.js +529 -0
- package/dist/interface/ha/{SettingsRecordings-BAUAhyEd.js → SettingsRecordings-DDs16z2A.js} +6 -6
- package/dist/interface/ha/{SettingsRemote-DAI3p-gY.js → SettingsRemote-0c0umjFJ.js} +355 -355
- package/dist/interface/ha/{SettingsSystem-D-UQqZyn.js → SettingsSystem-DfXxWXQk.js} +10 -10
- package/dist/interface/ha/{SettingsUsers-D-_uCeBe.js → SettingsUsers-CmjC0zsF.js} +42 -42
- package/dist/interface/ha/{Terminal-BBBP74zZ.js → Terminal-nbUX6PPZ.js} +76 -76
- package/dist/interface/ha/Training-GMcD4Qg9.js +1440 -0
- package/dist/interface/ha/{Updates-DDEAqmrt.js → Updates-UaxBGn6D.js} +14 -14
- package/dist/interface/ha/{VariableInput-5aDKaHK6.js → VariableInput-0bF2H1Bm.js} +1 -1
- package/dist/interface/ha/{VersionsHandler-Z5aUBicW.js → VersionsHandler-CnXVnfBl.js} +10 -10
- package/dist/interface/ha/{VirtualSensorCreate-DOjwBgbP.js → VirtualSensorCreate-BE60rAkJ.js} +7 -7
- package/dist/interface/ha/{Workers-lI-ulBfQ.js → Workers-CaX3Z3w-.js} +104 -104
- package/dist/interface/ha/{api-BU1ot-rQ.js → api-CmcbBFTx.js} +9831 -9471
- package/dist/interface/ha/{api-B-1nJvx1.js → api-S-NnjUWl.js} +4 -4
- package/dist/interface/ha/{auth-Wr26Jrhr.js → auth-CqYE7s1-.js} +24 -24
- package/dist/interface/ha/{automationBlueprint-CjXCYTHX.js → automationBlueprint-Dmp54JD1.js} +2 -2
- package/dist/interface/ha/cameraui-cards.js +1 -1
- package/dist/interface/ha/{cards-DJ8I0DpS.js → cards-MnCBmBIR.js} +121 -121
- package/dist/interface/ha/cloud-check-BFJzoUtz.js +33 -0
- package/dist/interface/ha/{config--3c2hYeI.js → config-C94KN4WM.js} +15 -15
- package/dist/interface/ha/{mqtt-CSWN3zrE.js → mqtt-HDLqlOJt.js} +15 -15
- package/dist/interface/ha/{notifications-B4jziVIo.js → notifications-C2_2_NRh.js} +22 -22
- package/dist/interface/ha/{pinia-3D39Do4a.js → pinia-DLNUke3Q.js} +172 -149
- package/dist/interface/ha/{plugins-BTBXmJqQ.js → plugins-l2i4DgqO.js} +68 -68
- package/dist/interface/ha/{rooms-BxY9U6db.js → rooms-Bp1ZVAzT.js} +11 -11
- package/dist/interface/ha/{server-BxPWpMFK.js → server-BsduJDAB.js} +32 -32
- package/dist/interface/ha/{types-D_Y5r1Yz.js → types-iZUCCt1P.js} +30 -30
- package/dist/interface/ha/ungrouped-wz-KNJpA.js +426 -0
- package/dist/interface/ha/{updates-Hyzkue_s.js → updates-CDsPvhpo.js} +36 -36
- package/dist/interface/ha/{useAppVersion-BME7p9Tn.js → useAppVersion-BJtSGn4X.js} +1 -1
- package/dist/interface/ha/{useLogsSocket-9HYA1tN7.js → useLogsSocket-Ck-ZQpQD.js} +1 -1
- package/dist/interface/ha/{useNavLayout-BP3bvHDX.js → useNavLayout-Bn6HYs-i.js} +19 -19
- package/dist/interface/ha/{useServerRestart-L0gugeHY.js → useServerRestart-fff_KK9Y.js} +1 -1
- package/dist/interface/ha/{useTabSwipe-DKFPKAuu.js → useTabSwipe-B1CQZuyT.js} +1 -1
- package/dist/interface/ha/{useUpdateChannel-DgPBMvzK.js → useUpdateChannel-DUBmGEDe.js} +2 -2
- package/dist/interface/ha/{useUpdatesSocket-j4Sl2_YJ.js → useUpdatesSocket-DoLb2kcJ.js} +1 -1
- package/dist/interface/ha/{useUserOptions-BIVNeXD9.js → useUserOptions-D0kNSHFH.js} +1 -1
- package/dist/interface/index.html +27 -27
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +8 -8
- package/dist/server/src/api/controllers/training.controller.d.ts +38 -0
- package/dist/server/src/api/controllers/training.controller.js +97 -0
- package/dist/server/src/api/controllers/training.controller.js.map +1 -0
- package/dist/server/src/api/database/constants.d.ts +1 -0
- package/dist/server/src/api/database/constants.js +1 -0
- package/dist/server/src/api/database/constants.js.map +1 -1
- package/dist/server/src/api/database/index.d.ts +3 -2
- package/dist/server/src/api/database/index.js +4 -2
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/database/migrations/v2-1-19.d.ts +3 -0
- package/dist/server/src/api/database/migrations/v2-1-19.js +24 -0
- package/dist/server/src/api/database/migrations/v2-1-19.js.map +1 -0
- package/dist/server/src/api/database/record-schemas.d.ts +6 -1
- package/dist/server/src/api/database/record-schemas.js +7 -0
- package/dist/server/src/api/database/record-schemas.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +27 -0
- package/dist/server/src/api/index.js +1 -1
- package/dist/server/src/api/index.js.map +1 -1
- package/dist/server/src/api/render-index.js +1 -1
- package/dist/server/src/api/render-index.js.map +1 -1
- package/dist/server/src/api/routes/index.js +2 -0
- package/dist/server/src/api/routes/index.js.map +1 -1
- package/dist/server/src/api/routes/training.routes.d.ts +2 -0
- package/dist/server/src/api/routes/training.routes.js +106 -0
- package/dist/server/src/api/routes/training.routes.js.map +1 -0
- package/dist/server/src/api/schemas/cameras.schema.d.ts +76 -76
- package/dist/server/src/api/schemas/remote.schema.d.ts +1 -1
- package/dist/server/src/api/schemas/training.schema.d.ts +42 -0
- package/dist/server/src/api/schemas/training.schema.js +42 -0
- package/dist/server/src/api/schemas/training.schema.js.map +1 -0
- package/dist/server/src/api/services/cameras.service.js +7 -2
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- 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/training.d.ts +11 -0
- package/dist/server/src/api/websocket/nsp/training.js +29 -0
- package/dist/server/src/api/websocket/nsp/training.js.map +1 -0
- package/dist/server/src/api/websocket/types.d.ts +1 -1
- package/dist/server/src/camera/decoder/detection-coordinator.d.ts +1 -0
- package/dist/server/src/camera/decoder/detection-coordinator.js +31 -1
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
- package/dist/server/src/camera/decoder/event-manager.d.ts +6 -0
- package/dist/server/src/camera/decoder/event-manager.js +43 -1
- package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
- package/dist/server/src/camera/decoder/training-sink.d.ts +26 -0
- package/dist/server/src/camera/decoder/training-sink.js +131 -0
- package/dist/server/src/camera/decoder/training-sink.js.map +1 -0
- package/dist/server/src/camera/decoder/types.d.ts +4 -0
- package/dist/server/src/camera/decoder/types.js +12 -0
- package/dist/server/src/camera/decoder/types.js.map +1 -1
- package/dist/server/src/manager/coreManager.d.ts +3 -1
- package/dist/server/src/manager/coreManager.js +18 -0
- package/dist/server/src/manager/coreManager.js.map +1 -1
- package/dist/server/src/manager/trainingCandidateManager.d.ts +42 -0
- package/dist/server/src/manager/trainingCandidateManager.js +250 -0
- package/dist/server/src/manager/trainingCandidateManager.js.map +1 -0
- package/dist/server/src/manager/types.d.ts +19 -0
- package/dist/server/src/manager/types.js +2 -0
- package/dist/server/src/manager/types.js.map +1 -1
- package/dist/server/src/remote/api/credentialStore.d.ts +1 -0
- package/dist/server/src/remote/api/credentialStore.js +24 -0
- package/dist/server/src/remote/api/credentialStore.js.map +1 -1
- package/dist/server/src/remote/api/index.d.ts +2 -0
- package/dist/server/src/remote/api/index.js +3 -0
- package/dist/server/src/remote/api/index.js.map +1 -1
- package/dist/server/src/remote/api/routes/oauth.js +1 -1
- package/dist/server/src/remote/api/routes/oauth.js.map +1 -1
- package/dist/server/src/remote/api/routes/train.d.ts +19 -0
- package/dist/server/src/remote/api/routes/train.js +47 -0
- package/dist/server/src/remote/api/routes/train.js.map +1 -0
- package/dist/server/src/rpc/index.d.ts +2 -0
- package/dist/server/src/rpc/index.js +5 -0
- package/dist/server/src/rpc/index.js.map +1 -1
- package/dist/server/src/rpc/interfaces/core.d.ts +21 -0
- package/dist/server/src/rpc/server.js +2 -0
- package/dist/server/src/rpc/server.js.map +1 -1
- package/package.json +8 -8
- package/dist/interface/assets/Automation-BLolxsX8.js +0 -3
- package/dist/interface/assets/AutomationImport-C_rR9kDq.js +0 -2
- package/dist/interface/assets/AutomationStore-whk_TeCG.js +0 -2
- package/dist/interface/assets/AutomationStoreDetail-BDDgg3zY.js +0 -2
- package/dist/interface/assets/Automations-sEIWIfdE.js +0 -2
- package/dist/interface/assets/Camera-BWdUUW_H.css +0 -1
- package/dist/interface/assets/Camera-l1DApD8b.js +0 -2
- package/dist/interface/assets/Camview-BZS4_jv1.css +0 -1
- package/dist/interface/assets/Camview-CWS3VJ1A.js +0 -1
- package/dist/interface/assets/Config-C02ndytC.js +0 -2
- package/dist/interface/assets/ConfigTriggerGeofence-DnYSaLPb.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-Cv_fwvYu.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-DsjZEdig.css +0 -1
- package/dist/interface/assets/CuiBottomSheet-epGdNqA8.js +0 -1
- package/dist/interface/assets/CuiCameraPipCard-Bm6wjm6h.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-4LLV-U85.js +0 -1
- package/dist/interface/assets/CuiCameraShares-DqmX3koT.js +0 -1
- package/dist/interface/assets/CuiCameraTable-CfyXLqkh.js +0 -1
- package/dist/interface/assets/CuiLightControl-CA8MAVex.js +0 -1
- package/dist/interface/assets/CuiPluginCard-Bj6cUIJ0.js +0 -2
- package/dist/interface/assets/CuiPluginOAuthButton-BmdfXNce.js +0 -2
- package/dist/interface/assets/CuiQRCode-CiWTLo9T.js +0 -1
- package/dist/interface/assets/CuiSchema-DntSkCO2.js +0 -1
- package/dist/interface/assets/CuiTopNavbarItem-DuzCbIZ8.js +0 -1
- package/dist/interface/assets/Faces-Bea5pIop.js +0 -1
- package/dist/interface/assets/FirstSteps-BNbQsYHq.js +0 -1
- package/dist/interface/assets/Floorplan-D9zKFQ2q.js +0 -1
- package/dist/interface/assets/Instances-DBphCwLn.js +0 -1
- package/dist/interface/assets/Metrics-Dvnil66d.js +0 -9
- package/dist/interface/assets/Plugin-1ZS-dcRt.js +0 -1
- package/dist/interface/assets/PluginDetail-SCj7WYL6.js +0 -2
- package/dist/interface/assets/PluginSearch-CHeix3n8.js +0 -2
- package/dist/interface/assets/PluginSearch-CcjGzS5R.js +0 -1
- package/dist/interface/assets/Plugins-DS-NZusx.js +0 -1
- package/dist/interface/assets/Recordings-Bqb2uV7R.js +0 -1
- package/dist/interface/assets/Recordings-D4NzYCO9.css +0 -1
- package/dist/interface/assets/Sensors-DU0MBnV1.js +0 -2
- package/dist/interface/assets/Settings-Dn-TJCtd.js +0 -1
- package/dist/interface/assets/SettingsAccount-CLclTO2m.js +0 -1
- package/dist/interface/assets/SettingsAccount-Q2sigi3a.js +0 -1
- package/dist/interface/assets/SettingsAppearance-Bo61ZncS.js +0 -1
- package/dist/interface/assets/SettingsBackup-D1NER4RI.js +0 -1
- package/dist/interface/assets/SettingsMqtt-14d54svj.js +0 -1
- package/dist/interface/assets/SettingsRemote-Da_6mcHl.js +0 -2
- package/dist/interface/assets/SettingsSystem-BpPrajwG.js +0 -2
- package/dist/interface/assets/SettingsUsers-CBItOJic.js +0 -1
- package/dist/interface/assets/Updates-CV5MWBHg.js +0 -2
- package/dist/interface/assets/Workers-DaHj_0te.js +0 -2
- package/dist/interface/assets/api-BTWXbCPQ.css +0 -2
- package/dist/interface/assets/api-CdT8ZD-n.js +0 -4
- package/dist/interface/assets/cloudHandoff-RfAVMcZZ.js +0 -1
- package/dist/interface/assets/main-Qqk3RyYP.css +0 -1
- package/dist/interface/assets/main-VmsUT9aF.js +0 -3
- package/dist/interface/assets/mqtt-x7JvjSZ0.js +0 -1
- package/dist/interface/assets/rooms-iq9Ync9a.js +0 -1
- package/dist/interface/assets/types-Br6AbfXl.js +0 -1
- package/dist/interface/assets/ungrouped-B-_P9Nxn.js +0 -1
- package/dist/interface/assets/ungrouped-DTYy_Pud.css +0 -1
- package/dist/interface/assets/useBackupRestore-C9JlDbTt.js +0 -1
- package/dist/interface/ha/CuiPluginOAuthButton-D4M7piUp.js +0 -105
- package/dist/interface/ha/SettingsAccount-CiyVRy4Y.js +0 -970
- package/dist/interface/ha/SettingsNotifications-Bvay7Ob7.js +0 -529
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./VersionsHandler-CIq6v6lE.js","./vendor-cameraui-BPX4wReW.js","./rolldown-runtime-C0FnF6B9.js","./vendor-nVfLT5jI.js","./api-CFf063x3.js","./intercomService-Bd71KwsB.js","./vendor-zod-CJ7LAMqQ.js","./types-D626ASim.js","./alert-outline-E6GK9c5n.js","./vendor-core-D0ANiY7g.js","./vendor-primevue-iEFYdXsu.js","./vendor-dnd-BopggnhP.js","./close-BiHUNAkN.js","./vendor-draggabilly-Ci8TnnTO.js","./api-eoOLTOnS.css","./server-BK9gwxH8.js","./useServerRestart-BchofDLe.js","./alert-circle-CDCxdnIi.js","./plugins-vyA7MMhx.js","./CuiConsole-UxJwQqNG.js","./content-copy-VcYnXV6l.js","./vendor-xterm-Bor91IHm.js","./vendor-xterm-BrP-ENHg.css","./CuiConsole-CoA-Nq-_.css","./useLogsSocket-DDSuX00j.js","./CuiMarkdownContent-Diua-pVD.js","./vendor-markdown-CuuUoQv-.js","./vendor-markdown-DtOhvyRx.css","./platformLabels-D-cF6OTP.js","./config-DthCyQJv.js","./useUpdateChannel-K9ADk5yx.js","./CertificateUpload-Dg0V9Hei.js","./upload-BJQKy0Z4.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{Br as e,Ft as t,K as n,zt as r}from"./vendor-cameraui-BPX4wReW.js";import{Tn as i,g as a,jn as o,jr as s,kr as c,nt as l,rt as u}from"./api-CFf063x3.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-nVfLT5jI.js";import{a as ie,i as ae}from"./intercomService-Bd71KwsB.js";import{K as oe,z as se}from"./vendor-primevue-iEFYdXsu.js";import{a as ce,c as le,d as ue,r as de,s as fe,t as pe}from"./server-BK9gwxH8.js";import{n as me}from"./useServerRestart-BchofDLe.js";import{n as he,t as ge}from"./api-4JRK8ya0.js";import{t as _e}from"./useUpdateChannel-K9ADk5yx.js";import{t as ve}from"./useAppVersion-JY7cdzlr.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},E={class:`card-title`},nt={class:`flex flex-col gap-6`},rt={class:`text-sm`},D=ne({__name:`SettingsSystem`,setup(ne){let D=u(()=>m(()=>import(`./VersionsHandler-CIq6v6lE.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=u(()=>m(()=>import(`./CertificateUpload-Dg0V9Hei.js`),__vite__mapDeps([31,1,2,3,10,32]),import.meta.url)),O=new ge,k=new pe,A=ie(),j=l(),M=c(),{t:N}=e(),{isElectronApp:P,electron:at}=ae(),{isOnline:F}=s(),{restarting:I,beginServerRestart:ot}=me(),{isBeta:st,setBeta:ct}=_e(),{appVersion:L,nativeVersion:R,refreshAppVersion:lt}=ve(),ut=a(),{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&&i(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 o({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()}),(e,a)=>{let o=se,s=oe,c=n,l=t,u=r;return p(),C(`div`,null,[b(`div`,ye,[b(`div`,null,[v(c,{class:`cui-card`},{content:h(()=>[b(`div`,null,[b(`div`,be,[b(`div`,xe,[b(`label`,Se,T(e.$t(`views.settings.beta_updates`)),1),v(o,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:h(()=>[_(T(e.$t(`views.settings.beta_updates_info`)),1)]),_:1})]),v(s,{"input-id":`betaChannel`,"model-value":y(st),class:`ml-auto shrink-0`,"onUpdate:modelValue":_t},null,8,[`model-value`])])])]),_:1})]),b(`div`,null,[a[5]||=b(`span`,{class:`card-title`},`camera.ui`,-1),v(c,{class:`cui-card`},{content:h(()=>[b(`div`,Ce,[y(P)?(p(),C(`div`,we,[b(`span`,Te,T(e.$t(`views.settings.app`)),1),y(J)?(p(),g(l,{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(e.$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(e.$t(`views.settings.server`)),1),y(J)?(p(),g(l,{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,[a[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:`${e.$t(`components.form.button.restart`)} (v${y(Y)})`,onClick:a[0]||=e=>Q(`restart`)},null,8,[`loading`,`disabled`,`label`])):x(``,!0),v(u,{loading:y(J),disabled:y(Z),class:`cui-button-medium`,label:e.$t(`components.form.button.manage`),onClick:a[1]||=e=>Q(`versions`)},null,8,[`loading`,`disabled`,`label`])]))])]),_:1})]),y(P)?x(``,!0):(p(),C(`div`,Fe,[b(`span`,Ie,T(e.$t(`views.settings.certificate`)),1),v(c,{class:`cui-card`},{content:h(()=>[b(`div`,Le,[b(`span`,Re,T(e.$t(`views.settings.certificate_info`)),1),y(K)?(p(),C(`div`,ze,[b(`span`,Be,T(e.$t(`views.settings.custom_certificate`)),1),y(U)?.problem?(p(),g(o,{key:0,severity:`error`,closable:!1},{default:h(()=>[_(T(e.$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(e.$t(`views.settings.certificate_names`)),1),b(`span`,Ue,T(y(U).info.names.join(`, `)),1)]),b(`div`,We,[b(`span`,Ge,T(e.$t(`views.settings.certificate_issuer`)),1),b(`span`,Ke,T(y(U).info.issuer),1)]),b(`div`,qe,[b(`span`,Je,T(e.$t(`views.settings.certificate_valid_to`)),1),b(`span`,Ye,T(y(U).info.validTo),1)]),y(gt)?(p(),g(o,{key:0,severity:`warn`,class:`mt-2`,closable:!1},{default:h(()=>[_(T(e.$t(`views.settings.certificate_chain_missing`)),1)]),_:1})):x(``,!0)],64)):(p(),C(`span`,Xe,T(e.$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:e.$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:e.$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:e.$t(`components.form.button.upload`),onClick:Ct},null,8,[`loading`,`label`])):x(``,!0)])])]),_:1})])),b(`div`,null,[b(`span`,Qe,T(e.$t(`views.settings.restart_server`)),1),v(c,{class:`cui-card`},{content:h(()=>[b(`div`,$e,[b(`span`,et,T(e.$t(`views.settings.restart_server_info`)),1),v(u,{loading:y(J),disabled:y(Z),class:`cui-button-medium ml-auto`,label:e.$t(`components.form.button.restart`),onClick:a[2]||=e=>Q(`restart`)},null,8,[`loading`,`disabled`,`label`])])]),_:1})]),(`hasPermission`in e?e.hasPermission:y(i))(void 0,`master`)?(p(),C(`div`,tt,[b(`span`,E,T(e.$t(`views.settings.reset_server`)),1),v(c,{class:`cui-card !border-red-900`},{content:h(()=>[b(`div`,nt,[b(`span`,rt,T(e.$t(`views.settings.reset_server_info`)),1),v(u,{loading:y(J),disabled:y(Z),class:`cui-button-medium ml-auto`,label:e.$t(`components.form.button.reset`),onClick:a[3]||=e=>Q(`reset`)},null,8,[`loading`,`disabled`,`label`])])]),_:1})])):x(``,!0)])])}}});export{D as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Br as e,Ft as t,Gt as n,I as r,K as i,Vt as a,zt as o}from"./vendor-cameraui-BPX4wReW.js";import{E as s,Er as c,In as l,O as u,kr as d,nt as f,vn as p,yn as m}from"./api-CFf063x3.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-nVfLT5jI.js";import{a as H}from"./intercomService-Bd71KwsB.js";import{I as U,R as W,S as G,j as K,s as q}from"./vendor-primevue-iEFYdXsu.js";import{t as ee}from"./delete-B_wgbT_W.js";import{t as te}from"./CuiDataTable-DZm0I8k7.js";import{n as ne,t as re}from"./auth-ISkWvJbZ.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(t,{expose:n}){let i=new c,a=t,o=H(),l=d(),{t:f}=e(),p=B(`dialogRefProps`),{mutateAsync:m,isPending:y}=i.createUserQuery(),{mutateAsync:C,isPending:w}=i.patchUserQuery(),{user:E}=M(a),k=v(`formRef`),A=I({}),P=I([`user`,`admin`]),F=N(()=>!!(p.loading?.value||y.value||w.value));async function R(){let e=await k.value?.validate();if(!e?.valid)return o.error(`Validation failed`,e),l.add({severity:`error`,detail:f(`components.toast.validation_failed`),life:3e3}),null;E.value?await C({username:E.value.username,userData:A.value}):await m({userData:A.value})}return n({isLoading:F,onConfirm:R}),(e,t)=>{let n=r,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(u):D(s)},{default:b(()=>[T(D(z),{modelValue:D(A).username,"onUpdate:modelValue":t[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:r})=>[O(`label`,X,V(e.$t(`components.form.label.username`)),1),T(i,null,{default:b(()=>[T(n,h(t,{invalid:r.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":t[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":t[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:n})=>[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:n.length>0,loading:D(F),type:`text`,onValueChange:t[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(r){let s=new re,u=new c,d=f(),{mdBreakpoint:h}=l(),{t:g}=e(),S=I({pageSize:15,page:1}),k=I({page:1,pageSize:-1}),{data:j,isBusy:M}=u.getUsersQuery(S),{mutate:P,isPending:L}=u.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){d.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(e,r)=>{let s=t,c=m,l=G,u=o,d=te,f=i,g=a,v=ne,w=n;return _(),F(`div`,null,[O(`div`,oe,[O(`div`,null,[O(`span`,se,V(e.$t(`views.settings.registered_users`)),1),T(f,{class:`cui-card`},{content:b(()=>[O(`div`,ce,[T(d,{filters:D(q),"onUpdate:filters":r[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:e.$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:e.$t(`components.form.button.create_new_user`),onClick:r[1]||=e=>$()},null,8,[`loading`,`label`])])])]),_:1})]),O(`div`,null,[O(`span`,he,V(e.$t(`views.settings.logged_in_users`)),1),T(f,{class:`cui-card`},{content:b(()=>[T(d,{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(e.$t(`views.settings.no_sessions`)),1)]),default:b(()=>[T(l,{field:`status`,header:``,style:{width:`3rem`}},{body:b(({data:t})=>[O(`div`,ge,[y(T(g,{style:R({background:t.is_current?`var(--primary-500)`:`transparent`})},null,8,[`style`]),[[w,{value:t.is_current?e.$t(`components.user_table.you`):void 0}]])])]),_:1}),T(l,{field:`device.name`,header:e.$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:e.$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:e.$t(`components.user_table.title_kind`)},null,8,[`header`]),T(l,{field:`action`,class:`text-right`},{body:b(({data:t})=>[y((_(),x(u,{severity:`danger`,text:``,rounded:``,loading:D(W),class:`cui-icon-md`,onClick:e=>D(H)({id:t.id})},{icon:b(()=>[T(v,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[w,{value:e.$t(`views.settings.active_sessions.revoke`)}]])]),_:1})]),_:1},8,[`value`,`loading`])]),_:1})])]),T(p,{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};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Ai as e,Br as t,Gt as n,Nt as r,si as i,ti as a,zt as o}from"./vendor-cameraui-
|
|
1
|
+
import{Ai as e,Br as t,Gt as n,Nt as r,si as i,ti as a,zt as o}from"./vendor-cameraui-BPX4wReW.js";import{B as s,In as c,Nn as l,Wn as u,m as d}from"./api-CFf063x3.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-nVfLT5jI.js";import{a as re}from"./intercomService-Bd71KwsB.js";import{p as z}from"./vendor-core-D0ANiY7g.js";import{o as B}from"./vendor-primevue-iEFYdXsu.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-CE63214a.js";import{t as K}from"./settings-B7tifwXn.js";import{n as ae,t as oe}from"./zoom-in-DkOfo9Ku.js";import{n as se,t as ce}from"./CuiTopNavbarItem-qPj6XwXr.js";import{t as le}from"./trash-2-DUSJ2XLn.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=l(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:i}){let o=t,s=i,{isConnected:c,isConnecting:l,isClientConnected:u,error:d,connect:f,write:m,resize:_,close:v}=r(),{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=a(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=e(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
2
|
\x1B[33mSession closed.\x1B[0m\r
|
|
3
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=
|
|
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=l(k({__name:`CuiTerminalToolbar`,emits:[`send`],setup(e,{expose:t,emit:n}){let r=n,{smBreakpoint:a}=c(),o=Y,s=i(`cui-terminal-toolbar-keys`,X),l=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(a)}])},[(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(l),"bg-white/5 border-white/10 text-white/50 hover:bg-white/15 hover:text-white":!D(l)}]),onPointerdown:t[0]||=v(e=>l.value=!D(l),[`prevent`])},[T(n,{class:`w-3.5 h-3.5`})],34)],2),D(l)?(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 r=e,i=re(),{t:c}=t(),l=u(),{uiSettings:h}=z(l),{navbarWidth:v,navbarLeft:w}=ne(r),k=ee(`toolbar`),A=P([]),M=P(``),F=P(0),R=new Map,V=window.innerHeight,H=0,U=a(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:c(`components.form.tooltip.clear`),icon:le,buttonProps:{severity:`danger`},command:()=>{Q()?.clear()}},{label:c(`components.form.tooltip.zoom_out`),icon:ae,command:()=>{ke()}},{label:c(`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){i.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,t)=>{let r=ie,i=o,a=s,l=ce,u=pe,d=se,p=B,h=de,v=n;return g(),N(`div`,ve,[T(a,{position:`left`},{default:S(()=>[T(i,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:t[0]||=t=>e.$router.push(`/menu`)},{icon:S(()=>[T(r,{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(l,{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(l,{type:`button`,onClick:$},{icon:S(()=>[T(u,{class:`w-4 h-4`})]),_:1})),[[v,D(c)(`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(i,{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(i,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(i,{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(c)(`views.terminal.reconnect`)]])])}}});export{$ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.stage[data-v-0a1cd189]{height:clamp(240px,52vh,620px);container-type:size}.frame[data-v-0a1cd189]{width:min(100cqw, calc(100cqh * var(--ar-w) / var(--ar-h)));height:min(100cqh, calc(100cqw * var(--ar-h) / var(--ar-w)))}.zoom-constraining[data-v-0a1cd189]>*{transition:transform .15s ease-out!important}.zoom-minimap[data-v-0a1cd189]{z-index:5;pointer-events:none;background:#00000080;border:1px solid #ffffff4d;border-radius:4px;width:80px;position:absolute;bottom:10px;right:10px;overflow:hidden}.zoom-minimap-viewport[data-v-0a1cd189]{background:#ffffff1f;border:1.5px solid #ffffffb3;border-radius:2px;position:absolute}.loupe[data-v-0a1cd189]{z-index:6;pointer-events:none;background-color:#000;background-repeat:no-repeat;border:2px solid #fffc;border-radius:50%;width:110px;height:110px;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 4px 16px #00000080}.loupe-content[data-v-0a1cd189]{transform-origin:0 0;position:absolute;top:0;left:0}.loupe-crosshair[data-v-0a1cd189]{position:absolute;inset:0}kbd[data-v-0a1cd189]{border:1px solid var(--border-color);border-radius:5px;padding:1px 6px;font-family:monospace;font-size:12px}.loupe-crosshair[data-v-0a1cd189]:before,.loupe-crosshair[data-v-0a1cd189]:after{content:"";background:#ffffffd9;position:absolute}.loupe-crosshair[data-v-0a1cd189]:before{width:1.5px;height:18px;top:calc(50% - 9px);left:50%;transform:translate(-50%)}.loupe-crosshair[data-v-0a1cd189]:after{width:18px;height:1.5px;top:50%;left:calc(50% - 9px);transform:translateY(-50%)}.bbox-label[data-v-0a1cd189]{color:#fff;white-space:nowrap;border-radius:6px 6px 6px 0;align-items:center;gap:4px;max-width:100%;padding:3px 7px;font-size:12px;font-weight:700;display:flex;position:absolute;transform:translateY(-100%)}.bbox-label.label-bottom[data-v-0a1cd189]{border-radius:0 6px 6px;transform:translateY(0)}.bbox-label.label-right[data-v-0a1cd189]{border-radius:6px 0 0 6px;flex-direction:row-reverse}.bbox-label.label-inside[data-v-0a1cd189]{border-radius:6px;transform:translateY(0)}.bbox-label-icon[data-v-0a1cd189]{flex-shrink:0;width:14px;height:14px}.bbox-label-text[data-v-0a1cd189]{text-overflow:ellipsis;min-width:0;overflow:hidden}.bbox-label-confidence[data-v-0a1cd189]{opacity:.9}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Br as e,Gt as t,I as n,K as r,V as i,ci as a,ii as o,q as ee,ti as s,zt as te}from"./vendor-cameraui-BPX4wReW.js";import{B as ne,Bt as c,Cn as l,Dr as u,F as d,Fn as re,I as ie,In as ae,L as f,Mn as p,Nn as m,Pn as h,R as oe,Rr as g,X as _,f as se,in as ce,kr as v,l as le,m as ue,nr as y,nt as b,vn as de,vr as fe,wn as pe,z as me}from"./api-CFf063x3.js";import{$t as x,Dn as S,F as he,J as C,Kn as ge,Mn as w,Pn as T,Qn as E,Qt as D,Rn as _e,U as O,Wn as k,Xn as A,Yn as j,an as M,ar as N,dn as P,fn as F,gr as ve,hr as I,in as L,mn as R,nr as ye,on as z,rn as B,rr as V,sn as H,sr as U,vr as W,yr as G}from"./vendor-nVfLT5jI.js";import{F as be,L as xe,P as Se,R as Ce,a as we,d as Te}from"./vendor-primevue-iEFYdXsu.js";import{t as Ee}from"./close-BiHUNAkN.js";import{t as De}from"./chevron-down-CA4ntUJ5.js";import{t as Oe}from"./trash-can-outline-wuIbai1c.js";import{t as ke}from"./ring-resize-DDYKCwBE.js";import{t as Ae}from"./CuiRecordingsGrid-BzyJWpFt.js";import{t as K}from"./search-70mLVEz7.js";import{n as je,t as Me}from"./cloud-check-v8fBsHY8.js";import{t as Ne}from"./back-filled-CE63214a.js";import{t as Pe}from"./settings-B7tifwXn.js";var Fe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ie(e,t){return w(),H(`svg`,Fe,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M13 19c0 .34.04.67.09 1H6.5c-1.5 0-2.81-.5-3.89-1.57C1.54 17.38 1 16.09 1 14.58q0-1.95 1.17-3.48C3.34 9.57 4 9.43 5.25 9.15c.42-1.53 1.25-2.77 2.5-3.72S10.42 4 12 4c1.95 0 3.6.68 4.96 2.04S19 9.05 19 11c1.15.13 2.1.63 2.86 1.5c.51.57.84 1.21 1 1.92A5.9 5.9 0 0 0 19 13h-2v-2c0-1.38-.5-2.56-1.46-3.54C14.56 6.5 13.38 6 12 6s-2.56.5-3.54 1.46C7.5 8.44 7 9.62 7 11h-.5c-.97 0-1.79.34-2.47 1.03c-.69.68-1.03 1.5-1.03 2.47s.34 1.79 1.03 2.5c.68.66 1.5 1 2.47 1h6.59c-.05.33-.09.66-.09 1m4.75.43l-1.59-1.59L15 19l2.75 3l4.75-4.75l-1.16-1.41z`},null,-1)]])}var Le=V({name:`mdi-cloud-check-outline`,render:Ie}),Re={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function q(e,t){return w(),H(`svg`,Re,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M6.5 20q-2.28 0-3.89-1.57Q1 16.85 1 14.58q0-1.95 1.17-3.48q1.18-1.53 3.08-1.95q.63-2.3 2.5-3.72Q9.63 4 12 4q2.93 0 4.96 2.04Q19 8.07 19 11q1.73.2 2.86 1.5q1.14 1.28 1.14 3q0 1.88-1.31 3.19T18.5 20H13q-.82 0-1.41-.59Q11 18.83 11 18v-5.15L9.4 14.4L8 13l4-4l4 4l-1.4 1.4l-1.6-1.55V18h5.5q1.05 0 1.77-.73q.73-.72.73-1.77t-.73-1.77Q19.55 13 18.5 13H17v-2q0-2.07-1.46-3.54Q14.08 6 12 6Q9.93 6 8.46 7.46Q7 8.93 7 11h-.5q-1.45 0-2.47 1.03Q3 13.05 3 14.5T4.03 17q1.02 1 2.47 1H9v2m3-7`},null,-1)]])}var ze=V({name:`mdi-cloud-upload-outline`,render:q});async function J(e={},{signal:t}={}){return(await g.get(`/training/candidates`,{params:e,signal:t})).data}async function Y(e,t){return(await g.patch(`/training/candidates/${e}`,t)).data}async function Be(e){await g.delete(`/training/candidates/${e}`)}async function X(e){return(await g.post(`/training/candidates/submit`,{ids:e})).data}async function Ve({signal:e}={}){return(await g.get(`/training/submissions`,{signal:e})).data}async function He(e){await g.delete(`/training/submissions/${e}`)}async function Z({signal:e}={}){return(await g.get(`/training/settings`,{signal:e})).data}async function Q(e){return(await g.patch(`/training/settings`,e)).data}var Ue=class{queryClient=C();getCandidatesQuery(){return u({queryKey:[`training-candidates`],queryFn:({signal:e})=>J({},{signal:e}),staleTime:5e3})}getSettingsQuery(){return u({queryKey:[`training-settings`],queryFn:({signal:e})=>Z({signal:e}),staleTime:3e4})}getSubmissionsQuery(){return u({queryKey:[`training-submissions`],queryFn:({signal:e})=>Ve({signal:e}),staleTime:3e4,retry:!1})}patchCandidateMutation(){return O({mutationFn:({id:e,patch:t})=>Y(e,t),onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-candidates`],exact:!0})}})}deleteCandidateMutation(){return O({mutationFn:Be,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-candidates`],exact:!0})}})}deleteSubmissionMutation(){return O({mutationFn:He,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-submissions`],exact:!0})}})}submitCandidatesMutation(){return O({mutationFn:X,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-candidates`],exact:!0})}})}patchSettingsMutation(){return O({mutationFn:Q,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-settings`],exact:!0})}})}},We={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ge(e,t){return w(),H(`svg`,We,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M11 18h2v-2h-2zm1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2a2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4`},null,-1)]])}var Ke=V({name:`mdi-help-circle-outline`,render:Ge}),qe=[`person`,`vehicle`,`animal`,`package`,`face`,`license_plate`],Je={desktop:{maxWidth:`1280px`,width:`85vw`}},Ye={class:`flex items-center justify-between gap-2 text-sm`},Xe={class:`min-w-0 flex items-center gap-2`},Ze={class:`font-medium truncate`},Qe={class:`text-muted shrink-0`},$e={class:`text-muted tabular-nums shrink-0`},et=[`data-stage-zoom`],tt=[`src`],nt=[`x`,`y`,`width`,`height`,`stroke`,`fill`,`fill-opacity`,`stroke-width`,`onPointerdown`],rt=[`onPointerdown`],it=[`cx`,`cy`],at=[`cx`,`cy`,`fill`],ot=[`x`,`y`,`width`,`height`,`stroke`,`fill`],st=[`data-box-label`,`onClick`],ct={class:`bbox-label-text`},lt={key:0,class:`bbox-label-confidence`},ut={key:1,class:`bbox-label-confidence`},dt=[`src`],ft={class:`absolute inset-0 w-full h-full`},pt=[`x`,`y`,`width`,`height`,`stroke`,`fill`],mt=[`x`,`y`,`width`,`height`,`stroke`,`fill`],ht={key:2,class:`absolute left-2 top-1/2 -translate-y-1/2 z-[5] dark-mode`},gt={key:3,class:`absolute right-2 top-1/2 -translate-y-1/2 z-[5] dark-mode`},_t={key:0,class:`flex items-center justify-center gap-2`},vt={class:`text-muted text-sm`,for:`plate-text`},yt={class:`flex items-center justify-center gap-1.5`},bt={class:`text-muted text-sm text-center`},xt={key:1,class:`grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 justify-center mx-auto text-sm text-muted`},St=.01,Ct=.006,wt=26,Tt=60,Et=400,Dt=110,Ot=2,kt=80,At=50,jt=.003,Mt=m(R({__name:`TrainingBoxEditor`,props:{candidates:{},startId:{},cameraName:{type:Function},imageUrl:{type:Function},onSave:{type:Function},onDelete:{type:Function}},setup(t,{expose:r}){let i=t,{t:ee,te:ne}=e(),c=[`nw`,`ne`,`sw`,`se`],u=new Map,d=N(new Set),re=N(new Set),ie=Math.max(0,i.candidates.findIndex(e=>e.id===i.startId)),ae=ue(),f=k(`rootRef`),p=k(`labelMenuRef`),m=k(`stageRef`),h=k(`frameRef`),oe=k(`svgRef`),g=U(i.candidates[ie]?.boxes.map(e=>({...e}))??[]),se=U({w:16,h:9}),v=U(null),y=U(null),b=U(-1),fe=U(!1),me=a(`(any-pointer: fine)`),S=U(null),C=null,E=U(-1),O=U(`person`),A=U(ie),{zoom:R,pan:V,constraining:be,minimapStyle:xe,minimapBoxStyle:Se,onZoomPan:Ce,onDoubleClick:Te,onTouchStart:Ee,onTouchEnd:De,reset:ke}=_(m,h),{height:Ae}=s(h),K=B(()=>i.candidates[A.value]),je=B(()=>i.candidates.slice(0,A.value+1).filter(e=>!d.has(e.id)).length),Me=B(()=>i.candidates.filter(e=>!d.has(e.id)).length),Ne=B(()=>i.candidates.slice(0,A.value).some(e=>!d.has(e.id))),Pe=B(()=>i.candidates.slice(A.value+1).some(e=>!d.has(e.id))),Fe=B(()=>re.has(K.value.id)?`verified`:K.value.status),Ie=B(()=>{let e=g.value[b.value];return e?.label===`license_plate`?e:null}),Le=B(()=>[...qe.map(e=>({key:e,label:ze(e),icon:ce(e).icon,iconProps:{style:{color:ce(e).color}},active:g.value[E.value]?.label===e,onClick:()=>Bt(e)})),{key:`remove`,label:ee(`components.training_editor.remove_box`),icon:Oe,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},onClick:()=>Ht(E.value)}]),Re=B(()=>e=>{let t=Ae.value||360;return e.y*t>=wt?`above`:t-(e.y+e.height)*t>=wt?`below`:`inside`}),q=B(()=>e=>e.x>.7);function ze(e){let t=`components.training_editor.labels.${e}`;return ne(t)?ee(t):e}function J(e){return ce(e)}function Y(e){return`${e*100}%`}function Be(e,t){return Y(t===`nw`||t===`sw`?e.x:e.x+e.width)}function X(e,t){return Y(t===`nw`||t===`ne`?e.y:e.y+e.height)}function Ve(e){let t={backgroundColor:J(e.label).color};q.value(e)?t.right=Y(1-e.x-e.width):t.left=Y(e.x);let n=Re.value(e);return t.top=n===`above`?Y(e.y):n===`below`?Y(e.y+e.height):`calc(${Y(e.y)} + 2px)`,t}function He(e){let t=e.target;t.naturalWidth&&t.naturalHeight&&(se.value={w:t.naturalWidth,h:t.naturalHeight})}function Z(e){let t=oe.value?.getBoundingClientRect();return!t||t.width===0||t.height===0?{x:0,y:0}:{x:Math.min(1,Math.max(0,(e.clientX-t.left)/t.width)),y:Math.min(1,Math.max(0,(e.clientY-t.top)/t.height))}}function Q(e,t){v.value={...t,moved:!1},oe.value?.setPointerCapture(e.pointerId)}function Ue(e){if(R.value>1)return;let{x:t,y:n}=Z(e);Q(e,{mode:`draw`,index:-1,startX:t,startY:n,origin:{label:O.value,confidence:1,x:t,y:n,width:0,height:0}})}function We(e,t){let{x:n,y:r}=Z(t);b.value=e,Q(t,{mode:`move`,index:e,startX:n,startY:r,origin:{...g.value[e]}})}function Ge(e,t,n){let{x:r,y:i}=Z(n);b.value=e,Q(n,{mode:`resize`,index:e,corner:t,startX:r,startY:i,origin:{...g.value[e]}})}function Je(e){let t=v.value;if(!t)return;let{x:n,y:r}=Z(e);if(Math.hypot(n-t.startX,r-t.startY)>Ct&&(t.moved=!0),e.pointerType===`touch`&&t.moved&&(Nt(t)?Pt(e):S.value=null),t.mode===`draw`){if(t.moved){let e=Rt(t.startX,t.startY,n,r);y.value=e.width>=St&&e.height>=St?{label:O.value,confidence:1,...e}:null}return}if(t.mode===`move`){if(!t.moved)return;let e=g.value[t.index];e.x=Math.min(1-t.origin.width,Math.max(0,t.origin.x+(n-t.startX))),e.y=Math.min(1-t.origin.height,Math.max(0,t.origin.y+(r-t.startY)));return}let i=t.corner===`nw`||t.corner===`sw`?t.origin.x+t.origin.width:t.origin.x,a=t.corner===`nw`||t.corner===`ne`?t.origin.y+t.origin.height:t.origin.y;Object.assign(g.value[t.index],Rt(i,a,n,r))}function Mt(e){let t=v.value;if(v.value=null,S.value=null,t){if(t.mode===`draw`){y.value&&y.value.width>=St&&y.value.height>=St?(g.value.push({...y.value}),b.value=g.value.length-1):t.moved||(b.value=-1),y.value=null;return}t.mode===`move`&&!t.moved&&zt(t.index,e)}}function Nt(e){let t=oe.value?.getBoundingClientRect();if(!t||t.width===0)return!1;let n=e.mode===`draw`?y.value:g.value[e.index];return!n||Math.max(n.width*t.width,n.height*t.height)<=At}function Pt(e){let t=h.value?.getBoundingClientRect(),n=m.value?.getBoundingClientRect();if(!t||!n||t.width===0||t.height===0){S.value=null;return}let r=Dt/2,i=Math.min(Math.max(e.clientX-n.left,59),n.width-r-4),a=e.clientY-n.top-kt;a-r<4&&(a=e.clientY-n.top+kt),S.value={x:i,y:a,frameW:t.width,frameH:t.height,tx:r-(e.clientX-t.left)*Ot,ty:r-(e.clientY-t.top)*Ot}}function Ft(e){let t=e instanceof HTMLElement||e instanceof SVGElement?e:null;if(!t||m.value?.contains(t)||t.closest(`.p-dialog-header`)||t.closest(`button`))return!1;let n=f.value?.closest(`.p-dialog-content`)?.lastElementChild;return!(n&&n!==f.value&&n.contains(t))}function It(e){if(C=null,e.touches.length!==1||!Ft(e.target))return;let t=e.touches[0];C={x:t.clientX,y:t.clientY,at:Date.now()}}function Lt(e){let t=C;if(C=null,!t||e.changedTouches.length!==1)return;let n=e.changedTouches[0],r=n.clientX-t.x,i=n.clientY-t.y;Date.now()-t.at<=Et&&Math.abs(r)>=Tt&&Math.abs(r)>2*Math.abs(i)&&$(r<0?1:-1)}function Rt(e,t,n,r){return{x:Math.min(e,n),y:Math.min(t,r),width:Math.abs(n-e),height:Math.abs(r-t)}}function zt(e,t){E.value=e;let n=h.value?.querySelector(`[data-box-label="${e}"]`);p.value?.toggleMenu(t,n??void 0)}function Bt(e){let t=g.value[E.value];t&&(t.label=e,t.confidence=1,O.value=e)}function Vt(e){let t=g.value[b.value];t&&(t.text=(e??``).toUpperCase().replace(/[^A-Z0-9ÄÖÜ\- ]/g,``)||void 0)}function Ht(e){e<0||e>=g.value.length||(g.value.splice(e,1),b.value=-1)}function Ut(e,t=!0){e<0||e>=i.candidates.length||(t&&u.set(K.value.id,g.value.map(e=>({...e}))),A.value=e,g.value=(u.get(K.value.id)??K.value.boxes).map(e=>({...e})),y.value=null,v.value=null,S.value=null,b.value=-1,E.value=-1,p.value?.hide(),ke())}async function Wt(e){return await i.onSave(K.value.id,g.value.map(e=>({...e})),e),u.set(K.value.id,g.value.map(e=>({...e}))),e===`verified`&&re.add(K.value.id),$(1,!1)?null:void 0}function $(e,t=!0){let n=A.value+e;for(;n>=0&&n<i.candidates.length&&d.has(i.candidates[n].id);)n+=e;return n<0||n>=i.candidates.length?!1:(Ut(n,t),!0)}async function Gt(){let e=K.value.id;return await i.onDelete(e),u.delete(e),d.add(e),$(1,!1)||$(-1,!1)?null:void 0}function Kt(){for(let e of[1,-1]){let t=A.value+e;for(;t>=0&&t<i.candidates.length&&d.has(i.candidates[t].id);)t+=e;let n=i.candidates[t];n&&(new Image().src=i.imageUrl(n.id))}}function qt(e){g.value.length&&(b.value=(b.value+e+g.value.length)%g.value.length)}function Jt(e){let t=g.value[b.value];if(!t)return;let n=qe,r=n[(n.indexOf(t.label)+e+n.length)%n.length];t.label=r,t.confidence=1,O.value=r}function Yt(e,t,n){let r=g.value[b.value];r&&(n?(r.width=Math.min(1-r.x,Math.max(St,r.width+e)),r.height=Math.min(1-r.y,Math.max(St,r.height+t))):(r.x=Math.min(1-r.width,Math.max(0,r.x+e)),r.y=Math.min(1-r.height,Math.max(0,r.y+t))))}return ge(A,Kt,{immediate:!0}),o(window,`keydown`,e=>{if(e.target?.closest?.(`input, textarea`))return;let t={ArrowLeft:[-.003,0],ArrowRight:[jt,0],ArrowUp:[0,-.003],ArrowDown:[0,jt]};if(t[e.key]){if(b.value>=0){e.preventDefault();let[n,r]=t[e.key];Yt(n,r,e.shiftKey)}else!e.repeat&&e.key===`ArrowLeft`?$(-1):!e.repeat&&e.key===`ArrowRight`&&$(1);return}e.repeat||(e.key===`Tab`?(e.preventDefault(),qt(e.shiftKey?-1:1)):e.key===`Escape`?(b.value=-1,p.value?.hide()):(e.key===`Delete`||e.key===`Backspace`)&&b.value>=0?Ht(b.value):e.key===`s`||e.key===`S`?Jt(e.shiftKey?-1:1):e.key===` `&&!p.value?.isOpen&&(e.preventDefault(),Wt(`verified`)))}),o(()=>f.value?.closest(`.p-dialog-content`)??void 0,`touchstart`,It,{passive:!0}),o(()=>f.value?.closest(`.p-dialog-content`)??void 0,`touchend`,Lt,{passive:!0}),r({onConfirm:()=>Wt(`verified`),onCancel:()=>Gt()}),(e,r)=>{let i=we,a=l,o=te,ee=pe,s=n,ne=Ke;return w(),H(`div`,{ref_key:`rootRef`,ref:f,class:`flex flex-col gap-3 h-full min-h-0`},[L(`div`,Ye,[L(`div`,Xe,[F(i,{severity:I(Fe)===`verified`?`success`:`info`,value:e.$t(`views.training.status_${I(Fe)}`),class:`shrink-0`},null,8,[`severity`,`value`]),L(`span`,Ze,G(t.cameraName(I(K).cameraId)),1),L(`span`,Qe,G(I(le)(I(K).createdAt)),1)]),L(`span`,$e,G(I(je))+` / `+G(I(Me)),1)]),L(`div`,{ref_key:`stageRef`,ref:m,class:`stage relative w-full bg-black rounded-lg shrink-0 overflow-hidden select-none`},[F(I(he),{pan:I(V),"onUpdate:pan":r[7]||=e=>ye(V)?V.value=e:null,zoom:I(R),"onUpdate:zoom":r[8]||=e=>ye(R)?R.value=e:null,"pan-enabled":I(R)>1&&!I(v),"enable-control-button":!1,"dbl-click-enabled":!1,"min-zoom":1,"max-zoom":I(5),selector:`[data-stage-zoom='${I(ae)}']`,"zoom-origin":`pointer`,class:ve([`absolute inset-0 flex items-center justify-center`,{"zoom-constraining":I(be)}]),onPanned:I(Ce),onZoom:I(Ce),onDblclick:I(Te),onTouchstart:I(Ee),onTouchend:I(De)},{default:j(()=>[L(`div`,{ref_key:`frameRef`,ref:h,"data-stage-zoom":I(ae),class:`frame relative`,style:W({"--ar-w":I(se).w,"--ar-h":I(se).h})},[L(`img`,{src:t.imageUrl(I(K).id),class:`absolute inset-0 w-full h-full`,draggable:`false`,onLoad:He},null,40,tt),(w(),H(`svg`,{ref_key:`svgRef`,ref:oe,class:ve([`absolute inset-0 w-full h-full touch-none`,I(R)>1?`cursor-grab`:`cursor-crosshair`]),onPointerdown:Ue,onPointermove:Je,onPointerup:Mt,onPointercancel:Mt},[(w(!0),H(x,null,T(I(g),(e,t)=>(w(),H(`g`,{key:t},[L(`rect`,{x:Y(e.x),y:Y(e.y),width:Y(e.width),height:Y(e.height),stroke:J(e.label).color,fill:J(e.label).color,"fill-opacity":t===I(b)?.22:.12,"stroke-width":t===I(b)?3.5:2,"vector-effect":`non-scaling-stroke`,class:`cursor-move`,onPointerdown:D(e=>We(t,e),[`stop`]),onTouchstart:r[0]||=D(()=>{},[`stop`]),onMousedown:r[1]||=D(()=>{},[`stop`])},null,40,nt),(w(),H(x,null,T(c,n=>L(`g`,{key:n,class:`cursor-nwse-resize`,onPointerdown:D(e=>Ge(t,n,e),[`stop`]),onTouchstart:r[2]||=D(()=>{},[`stop`]),onMousedown:r[3]||=D(()=>{},[`stop`])},[L(`circle`,{cx:Be(e,n),cy:X(e,n),r:`14`,fill:`transparent`},null,8,it),L(`circle`,{cx:Be(e,n),cy:X(e,n),r:`4.5`,fill:J(e.label).color},null,8,at)],40,rt)),64))]))),128)),I(y)?(w(),H(`rect`,{key:0,x:Y(I(y).x),y:Y(I(y).y),width:Y(I(y).width),height:Y(I(y).height),stroke:J(I(y).label).color,fill:J(I(y).label).color,"fill-opacity":`0.1`,"stroke-dasharray":`6 4`,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`},null,8,ot)):z(``,!0)],34)),(w(!0),H(x,null,T(I(g),(e,t)=>(w(),H(`div`,{key:`label-${t}`,class:ve([`bbox-label cursor-pointer`,{"label-bottom":I(Re)(e)===`below`,"label-inside":I(Re)(e)===`inside`,"label-right":I(q)(e)}]),"data-box-label":t,onPointerdown:r[4]||=D(()=>{},[`stop`]),onTouchstart:r[5]||=D(()=>{},[`stop`]),onMousedown:r[6]||=D(()=>{},[`stop`]),onClick:D(e=>zt(t,e),[`stop`]),style:W(Ve(e))},[(w(),M(_e(J(e.label).icon),{class:`bbox-label-icon`})),L(`span`,ct,G(ze(e.label)),1),e.text?(w(),H(`span`,lt,G(e.text),1)):e.confidence<1?(w(),H(`span`,ut,G(Math.round(e.confidence*100))+`%`,1)):z(``,!0)],46,st))),128))],12,et)]),_:1},8,[`pan`,`zoom`,`pan-enabled`,`max-zoom`,`selector`,`class`,`onPanned`,`onZoom`,`onDblclick`,`onTouchstart`,`onTouchend`]),I(xe)?(w(),H(`div`,{key:0,class:`zoom-minimap`,style:W(I(Se)??void 0)},[L(`div`,{class:`zoom-minimap-viewport`,style:W(I(xe))},null,4)],4)):z(``,!0),I(S)?(w(),H(`div`,{key:1,class:`loupe`,style:W({left:`${I(S).x}px`,top:`${I(S).y}px`})},[L(`div`,{class:`loupe-content`,style:W({width:`${I(S).frameW}px`,height:`${I(S).frameH}px`,transform:`translate(${I(S).tx}px, ${I(S).ty}px) scale(${Ot})`})},[L(`img`,{src:t.imageUrl(I(K).id),class:`absolute inset-0 w-full h-full`,draggable:`false`},null,8,dt),(w(),H(`svg`,ft,[(w(!0),H(x,null,T(I(g),(e,t)=>(w(),H(`rect`,{key:t,x:Y(e.x),y:Y(e.y),width:Y(e.width),height:Y(e.height),stroke:J(e.label).color,fill:J(e.label).color,"fill-opacity":`0.1`,"stroke-width":`1.5`},null,8,pt))),128)),I(y)?(w(),H(`rect`,{key:0,x:Y(I(y).x),y:Y(I(y).y),width:Y(I(y).width),height:Y(I(y).height),stroke:J(I(y).label).color,fill:J(I(y).label).color,"fill-opacity":`0.1`,"stroke-dasharray":`4 3`,"stroke-width":`1.5`},null,8,mt)):z(``,!0)]))],4),r[12]||=L(`div`,{class:`loupe-crosshair`},null,-1)],4)):z(``,!0),I(Ne)?(w(),H(`div`,ht,[F(o,{severity:`secondary`,rounded:``,class:`cui-icon-md opacity-60 hover:opacity-100`,onClick:r[9]||=D(e=>$(-1),[`stop`])},{icon:j(()=>[F(a,{width:`100%`,height:`100%`})]),_:1})])):z(``,!0),I(Pe)?(w(),H(`div`,gt,[F(o,{severity:`secondary`,rounded:``,class:`cui-icon-md opacity-60 hover:opacity-100`,onClick:r[10]||=D(e=>$(1),[`stop`])},{icon:j(()=>[F(ee,{width:`100%`,height:`100%`})]),_:1})])):z(``,!0)],512),I(Ie)?(w(),H(`div`,_t,[L(`label`,vt,G(e.$t(`components.training_editor.plate_text`)),1),F(s,{id:`plate-text`,"model-value":I(Ie).text??``,size:`small`,maxlength:`12`,class:`w-40 uppercase`,placeholder:`ABC 1234`,"onUpdate:modelValue":Vt},null,8,[`model-value`])])):z(``,!0),L(`div`,yt,[L(`span`,bt,G(e.$t(`components.training_editor.hint`)),1),I(me)?(w(),M(o,{key:0,severity:`secondary`,text:``,rounded:``,class:`cui-icon-sm shrink-0`,onClick:r[11]||=e=>fe.value=!I(fe)},{icon:j(()=>[F(ne,{class:`w-4 h-4`})]),_:1})):z(``,!0)]),I(me)&&I(fe)?(w(),H(`div`,xt,[r[13]||=L(`span`,null,[L(`kbd`,null,`Tab`)],-1),L(`span`,null,G(e.$t(`components.training_editor.sc_select`)),1),r[14]||=P(),r[15]||=L(`span`,null,[L(`kbd`,null,`←↑→↓`)],-1),L(`span`,null,G(e.$t(`components.training_editor.sc_move`)),1),r[16]||=P(),r[17]||=L(`span`,null,[L(`kbd`,null,`Shift`),P(` + `),L(`kbd`,null,`←↑→↓`)],-1),L(`span`,null,G(e.$t(`components.training_editor.sc_resize`)),1),r[18]||=P(),r[19]||=L(`span`,null,[L(`kbd`,null,`S`)],-1),L(`span`,null,G(e.$t(`components.training_editor.sc_label`)),1),r[20]||=P(),r[21]||=L(`span`,null,[L(`kbd`,null,`Del`)],-1),L(`span`,null,G(e.$t(`components.training_editor.sc_delete`)),1),r[22]||=P(),r[23]||=L(`span`,null,[L(`kbd`,null,`Esc`)],-1),L(`span`,null,G(e.$t(`components.training_editor.sc_deselect`)),1),r[24]||=P(),r[25]||=L(`span`,null,[L(`kbd`,null,`Space`)],-1),L(`span`,null,G(e.$t(`components.training_editor.sc_verify`)),1),r[26]||=P(),r[27]||=L(`span`,null,[L(`kbd`,null,`←`),P(` / `),L(`kbd`,null,`→`)],-1),L(`span`,null,G(e.$t(`components.training_editor.sc_nav`)),1)])):z(``,!0),F(de,{ref_key:`labelMenuRef`,ref:p,items:I(Le),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])],512)}}}),[[`__scopeId`,`data-v-0a1cd189`]]),Nt={class:`flex flex-col gap-3`},Pt={key:0,class:`flex flex-col gap-2`},Ft={key:1,class:`flex flex-col items-center gap-3 py-10`},It={class:`text-muted text-sm text-center max-w-sm`},Lt={key:2,class:`flex flex-col items-center gap-3 py-10`},Rt={class:`text-muted text-sm text-center max-w-sm`},zt={class:`text-muted text-sm`},Bt={class:`w-24 aspect-video rounded-lg overflow-hidden bg-black/5 dark:bg-black/30 shrink-0`},Vt={class:`flex-1 min-w-0`},Ht={class:`flex flex-wrap items-center gap-1`},Ut={class:`text-xs text-muted mt-1`},Wt=R({__name:`TrainingSubmissions`,setup(n){let r=new Ue,{t:i,te:a}=e(),o=v(),s=r.getSubmissionsQuery(),ne=r.deleteSubmissionMutation(),c=U(``),l=B(()=>s.data.value??[]);function u(e){let t={};for(let n of e.labels)t[n.label]=(t[n.label]??0)+1;return t}function re(e){let t=`components.training_editor.labels.${e}`;return a(t)?i(t):e}async function ie(e){c.value=e;try{await ne.mutateAsync(e)}catch(e){o.add({severity:`error`,detail:e?.message??String(e),life:5e3})}finally{c.value=``}}return(e,n)=>{let r=ee,i=je,a=d,o=p,ae=we,f=Oe,m=te,h=t;return w(),H(`div`,Nt,[I(s).isLoading.value?(w(),H(`div`,Pt,[(w(),H(x,null,T(4,e=>F(r,{key:e,height:`72px`,"border-radius":`12px`})),64))])):I(s).isError.value?(w(),H(`div`,Ft,[F(i,{class:`w-10 h-10 text-muted`}),L(`span`,It,G(e.$t(`components.training_submissions.load_failed`)),1)])):I(l).length?(w(),H(x,{key:3},[L(`span`,zt,G(e.$t(`components.training_submissions.count`,I(l).length)),1),(w(!0),H(x,null,T(I(l),t=>(w(),H(`div`,{key:t.id,class:`cui-card h-auto! shrink-0 p-2 flex items-center gap-3`},[L(`div`,Bt,[F(o,{src:t.imageUrl,"image-container-class":`w-full h-full`,"image-style":{objectFit:`cover`}},null,8,[`src`])]),L(`div`,Vt,[L(`div`,Ht,[(w(!0),H(x,null,T(u(t),(e,t)=>(w(),H(`span`,{key:t,class:`px-1.5 py-0.5 rounded text-xs font-medium text-white`,style:W({backgroundColor:I(ce)(String(t)).color})},G(re(String(t)))+` ×`+G(e),5))),128))]),L(`div`,Ut,G(I(le)(new Date(t.createdAt).getTime())),1)]),F(ae,{severity:t.usedInWave?`success`:`info`,value:t.usedInWave?e.$t(`components.training_submissions.status_trained`):e.$t(`components.training_submissions.status_pool`),class:`shrink-0`},null,8,[`severity`,`value`]),A((w(),M(m,{severity:`danger`,text:``,rounded:``,class:`cui-icon-sm shrink-0`,loading:I(ne).isPending.value&&I(c)===t.id,onClick:e=>ie(t.id)},{icon:j(()=>[F(f,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[h,e.$t(`components.training_submissions.delete`),void 0,{left:!0}]])]))),128))],64)):(w(),H(`div`,Lt,[F(a,{class:`w-10 h-10 text-muted`}),L(`span`,Rt,G(e.$t(`components.training_submissions.empty`)),1)]))])}}}),$={desktop:{maxWidth:`720px`,width:`90vw`}},Gt=N({progress:null}),Kt=null,qt=null,Jt=new Set;function Yt(){for(let e of Jt)try{e()}catch{}}async function Xt(){if(qt?.ready.value)try{let e=await qt.request(`get-submit-progress`);e.active&&(Gt.progress=e)}catch{}}function Zt(){return qt||(Kt=E(!0),Kt.run(()=>{let e=fe(`/training`);qt=e,e.on(`candidates-changed`,()=>Yt()),e.on(`submit-progress`,e=>{Gt.progress=e,Yt()}),e.onReady(()=>{Xt(),Yt()})}),qt)}function Qt(){function e(){Zt()}function t(e){return Jt.add(e),()=>Jt.delete(e)}function n(){Gt.progress=null}return{submitProgress:B(()=>Gt.progress),connect:e,onCandidatesChanged:t,dismissProgress:n}}var $t={class:`flex flex-col h-full min-h-0`},en={key:0,class:`page-title`},tn={class:`font-semibold text-xl truncate`},nn={class:`flex gap-2 mb-4`},rn={key:1,class:`cui-card h-auto! shrink-0 px-3 py-2 mb-4 flex items-center gap-3`},an={class:`flex-1 min-w-0`},on={class:`text-sm`},sn={class:`flex-1 text-sm`},cn={class:`p-3`},ln={key:3,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4 py-16`},un={class:`text-muted text-sm text-center max-w-md`},dn={class:`relative flex-1 min-h-0 overflow-hidden bg-black/5 dark:bg-black/30`},fn={class:`absolute top-1.5 left-1.5 flex flex-wrap gap-1`},pn={key:0,class:`absolute bottom-1.5 left-1.5`},mn={key:1,class:`absolute top-1.5 right-1.5 dark-mode`},hn={class:`flex items-center justify-between gap-2`},gn={class:`flex items-center gap-2 min-w-0`},_n={class:`min-w-0`},vn={class:`font-medium truncate`},yn={class:`text-xs text-muted`},bn=40,xn=R({__name:`Training`,setup(a){let o=new c,s=new Ue,{t:l,te:u}=e(),d=b(),m=v(),{smBreakpoint:g}=ae(),_=s.getCandidatesQuery(),ue=s.getSettingsQuery(),fe=s.patchCandidateMutation(),pe=s.deleteCandidateMutation(),he=s.patchSettingsMutation(),C=s.submitCandidatesMutation(),E=Qt(),{data:_e}=o.getCamerasQuery({page:1,pageSize:-1}),O=U(``),N=U(bn),R=k(`cameraMenuRef`),V=k(`settingsMenuRef`),Fe=B(()=>({gridTemplateColumns:`repeat(auto-fill, minmax(${g.value?`220px`:`260px`}, 1fr))`})),Ie=B(()=>{let e=[...new Set((_.data.value??[]).map(e=>Qe(e.cameraId)))].sort((e,t)=>e.localeCompare(t));return[{key:`all`,label:l(`views.training.all_cameras`),active:O.value===``,onClick:()=>{O.value=``}},...e.map(e=>({key:e,label:e,active:O.value===e,onClick:()=>{O.value=e}}))]}),Re=B(()=>[{key:`collect`,label:l(`views.training.collection_enabled`),description:l(`views.training.collection_hint`),toggle:!0,toggleState:ue.data.value?.enabled??!0,onClick:()=>{ut(!(ue.data.value?.enabled??!0))}}]),q=B(()=>{let e=O.value.trim().toLowerCase();return e?(_.data.value??[]).filter(t=>Qe(t.cameraId).toLowerCase().includes(e)):_.data.value??[]}),J=B(()=>q.value.slice(0,N.value)),Y=B(()=>q.value.length>J.value.length),Be=B(()=>(_.data.value??[]).filter(e=>He(e)).length),X=B(()=>E.submitProgress.value?E.submitProgress.value:Be.value>0?{active:!0,total:Be.value,done:0,failed:0}:null),Ve=B(()=>q.value.filter(e=>!He(e)));function He(e){return e.upload===`queued`||e.upload===`uploading`}let{selectionMode:Z,selectedIds:Q,allSelected:We,bulkBusy:Ge,enterSelectionMode:Ke,exitSelectionMode:qe,toggleSelectAll:Ye,toggleSelection:Xe}=ie(Ve,e=>e.id),Ze=B(()=>[...Q.value].filter(e=>_.data.value?.find(t=>t.id===e)?.status===`verified`));function Qe(e){return _e.value?.result?.find(t=>t._id===e)?.name??e}function $e(e){return se(`/api/training/candidates/${e}/image`)??``}function et(e){let t=`components.training_editor.labels.${e}`;return u(t)?l(t):e}function tt(e){let t={};for(let n of e.boxes)t[n.label]=(t[n.label]??0)+1;return t}function nt(e){return e===`verified`?`success`:`info`}function rt(){N.value+=bn}function it(e){if(!He(e)){if(Z.value){Xe(e.id);return}at(e)}}function at(e){d.openComponentDialog(Mt,{data:{title:l(`views.training.title`),cancelText:l(`components.form.button.remove`),confirmText:l(`components.training_editor.verify`),cancelButtonProps:{severity:`danger`},contentProps:{candidates:q.value.map(e=>({...e})),startId:e.id,cameraName:Qe,imageUrl:$e,onSave:async(e,t,n)=>{await fe.mutateAsync({id:e,patch:{boxes:t,status:n}})},onDelete:async e=>{await pe.mutateAsync(e)}}},dialogSize:Je})}function ot(){d.openComponentDialog(Wt,{data:{title:l(`views.training.submissions`),hideConfirmButton:!0,cancelText:l(`components.form.button.close`),contentProps:{}},dialogSize:$})}function st(){let e=Ze.value;!e.length||C.isPending.value||d.openTextDialog({data:{title:l(`components.dialog.title.confirm`),contentText:l(`views.training.submit_confirm`,{count:e.length}),confirmText:l(`views.training.submit`)},onConfirm:async()=>{try{await C.mutateAsync(e),qe()}catch(e){m.add({severity:`error`,detail:e?.message??String(e),life:8e3})}}})}function ct(){let e=[...Q.value];!e.length||Ge.value||d.openTextDialog({data:{title:l(`components.dialog.title.confirm`),contentText:l(`views.training.delete_selected_confirm`,{count:e.length}),confirmText:l(`components.form.button.remove`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{Ge.value=!0;try{for(let t of e)await pe.mutateAsync(t);qe(),m.add({severity:`success`,detail:l(`views.training.delete_selected_done`,{count:e.length}),life:5e3})}catch(e){m.add({severity:`error`,detail:e?.message??String(e),life:5e3})}finally{Ge.value=!1}}})}async function lt(e){await pe.mutateAsync(e.id)}async function ut(e){await he.mutateAsync({enabled:e})}ge(O,()=>{N.value=bn}),E.connect();let dt=E.onCandidatesChanged(()=>{_.refetch()});return S(()=>{dt()}),(e,a)=>{let o=Ne,s=te,c=ne,u=K,d=Se,ie=n,ae=be,m=De,se=xe,v=Ce,ue=Le,b=Pe,fe=ke,pe=Te,S=je,he=Me,ge=Ee,_e=ee,k=y,N=p,B=we,U=Oe,Be=i,Ve=r,Ue=Ae,Je=h,at=re,ut=t;return w(),H(`div`,$t,[I(g)?z(``,!0):(w(),H(`h1`,en,G(e.$t(`views.training.title`)),1)),F(c,{position:`left`},{default:j(()=>[F(s,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:a[0]||=t=>e.$router.push(`/menu`)},{icon:j(()=>[F(o,{class:`w-6 h-6`})]),_:1})]),_:1}),F(c,{position:`center`},{default:j(()=>[L(`span`,tn,G(e.$t(`views.training.title`)),1)]),_:1}),L(`div`,nn,[F(v,{class:`flex-1`},{default:j(()=>[F(ae,{class:`flex-1`},{default:j(()=>[F(d,null,{default:j(()=>[F(u,{class:`w-4 h-4`})]),_:1}),F(ie,{modelValue:I(O),"onUpdate:modelValue":a[1]||=e=>ye(O)?O.value=e:null,placeholder:I(l)(`views.training.search`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),_:1}),F(se,null,{default:j(()=>[F(s,{severity:`secondary`,text:``,class:`text-color`,onClick:a[2]||=e=>I(R)?.toggleMenu(e)},{icon:j(()=>[F(m,{class:ve([`w-4 h-4 transform transition-transform duration-300`,{"rotate-180":I(R)?.isOpen}])},null,8,[`class`])]),_:1})]),_:1})]),_:1}),A((w(),M(s,{severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:ot},{icon:j(()=>[F(ue,{class:`w-4.5 h-4.5`})]),_:1})),[[ut,{value:e.$t(`views.training.submissions`)},void 0,{left:!0}]]),A((w(),M(s,{severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:a[3]||=e=>I(V)?.toggleMenu(e)},{icon:j(()=>[F(b,{class:`w-4.5 h-4.5`})]),_:1})),[[ut,{value:e.$t(`views.training.collection`)},void 0,{left:!0}]])]),I(X)?(w(),H(`div`,rn,[I(X).active?(w(),H(x,{key:0},[F(fe,{class:`w-4 h-4 text-primary shrink-0`}),L(`div`,an,[L(`div`,on,G(e.$t(`views.training.upload_progress`,{done:I(X).done+I(X).failed,total:I(X).total})),1),F(pe,{value:I(X).total?Math.round((I(X).done+I(X).failed)/I(X).total*100):0,"show-value":!1,style:{height:`6px`},class:`mt-1.5`},null,8,[`value`])])],64)):(w(),H(x,{key:1},[I(X).failed?(w(),M(S,{key:0,class:`w-5 h-5 text-red-500 shrink-0`})):(w(),M(he,{key:1,class:`w-5 h-5 text-green-500 shrink-0`})),L(`span`,sn,[P(G(e.$t(`views.training.submit_done`,I(X).done)),1),I(X).failed?(w(),H(x,{key:0},[P(` · `+G(e.$t(`views.training.upload_failed_summary`,{count:I(X).failed})),1)],64)):z(``,!0)]),F(s,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-sm shrink-0`,onClick:a[4]||=e=>I(E).dismissProgress()},{icon:j(()=>[F(ge,{class:`w-4 h-4`})]),_:1})],64))])):z(``,!0),I(_).isLoading.value&&!I(_).data.value?(w(),H(`div`,{key:2,class:`grid w-full gap-3 p-px`,style:W(I(Fe))},[(w(),H(x,null,T(8,e=>L(`div`,{key:e,class:`cui-card overflow-hidden`},[F(_e,{class:`aspect-video`,width:`100%`,height:`100%`}),L(`div`,cn,[F(_e,{height:`14px`,width:`70%`,class:`mb-1`}),F(_e,{height:`12px`,width:`40%`})])])),64))],4)):I(q).length===0?(w(),H(`div`,ln,[F(k,{class:`w-12 h-12 text-muted`}),L(`span`,un,G(e.$t(`views.training.no_candidates`)),1)])):(w(),M(Ue,{key:4,items:I(J),"min-item-width":I(g)?220:250,"aspect-ratio":1.17,gap:12,"has-more":I(Y),"load-more":rt,"item-key":e=>e.id,class:`flex-1 min-h-0`},{item:j(({item:t})=>[F(Ve,{class:`cui-card overflow-hidden transition-shadow cursor-pointer hover:shadow-md h-full flex flex-col`,pt:{header:{class:`flex-1 min-h-0 flex`},body:{class:`shrink-0`,style:`height: auto`}},onClick:e=>it(t)},{header:j(()=>[L(`div`,dn,[F(N,{class:`absolute inset-0`,src:$e(t.id),alt:Qe(t.cameraId),"image-container-class":`w-full h-full`,"image-style":{objectFit:`cover`}},null,8,[`src`,`alt`]),L(`div`,fn,[(w(!0),H(x,null,T(tt(t),(e,t)=>(w(),H(`span`,{key:t,class:`px-1.5 py-0.5 rounded text-xs font-medium text-white`,style:W({backgroundColor:I(ce)(String(t)).color})},G(et(String(t)))+` ×`+G(e),5))),128))]),t.upload?(w(),H(`div`,pn,[t.upload===`failed`?A((w(),M(B,{key:0,severity:`danger`,value:e.$t(`views.training.upload_failed`)},null,8,[`value`])),[[ut,t.uploadError,void 0,{top:!0}]]):t.upload===`uploading`?(w(),M(B,{key:1,severity:`info`,value:e.$t(`views.training.upload_uploading`)},null,8,[`value`])):(w(),M(B,{key:2,severity:`secondary`,value:e.$t(`views.training.upload_queued`)},null,8,[`value`]))])):z(``,!0),!I(Z)&&!He(t)?(w(),H(`div`,mn,[A((w(),M(s,{severity:`secondary`,rounded:``,size:`small`,class:`cui-icon-sm text-white`,onClick:D(e=>lt(t),[`stop`])},{icon:j(()=>[F(U,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[ut,e.$t(`views.training.delete_candidate`),void 0,{top:!0}]])])):z(``,!0)])]),content:j(()=>[L(`div`,hn,[L(`div`,gn,[I(Z)&&!He(t)?(w(),M(Be,{key:0,"model-value":I(Q).has(t.id),binary:``,size:`small`,onClick:a[5]||=D(()=>{},[`stop`]),"onUpdate:modelValue":e=>I(Xe)(t.id)},null,8,[`model-value`,`onUpdate:modelValue`])):z(``,!0),L(`div`,_n,[L(`div`,vn,G(Qe(t.cameraId)),1),L(`div`,yn,G(I(le)(t.createdAt)),1)])]),F(B,{severity:nt(t.status),value:e.$t(`views.training.status_${t.status}`)},null,8,[`severity`,`value`])])]),_:2},1032,[`onClick`])]),_:1},8,[`items`,`min-item-width`,`has-more`,`item-key`])),I(q).length||I(Z)?(w(),M(at,{key:5,"force-visible":I(Z)},{default:j(()=>[I(Z)?(w(),H(x,{key:1},[F(Je,{grouped:``,"tooltip-props":{value:e.$t(`components.form.tooltip.cancel_selection`)},"button-props":{severity:`secondary`},icon:I(Ee),"icon-props":{width:`100%`,height:`100%`},onClick:I(qe)},null,8,[`tooltip-props`,`icon`,`onClick`]),F(Je,{grouped:``,"tooltip-props":{value:I(We)?e.$t(`views.training.deselect_all`):e.$t(`views.training.select_all`)},"button-props":{severity:I(We)?`primary`:`secondary`},icon:I(me),"icon-props":{width:`100%`,height:`100%`},onClick:I(Ye)},null,8,[`tooltip-props`,`button-props`,`icon`,`onClick`]),F(Je,{grouped:``,"tooltip-props":{value:e.$t(`views.training.submit_selected`)},"button-props":{disabled:!I(Ze).length||I(C).isPending.value},icon:I(ze),"icon-props":{width:`100%`,height:`100%`},onClick:st},null,8,[`tooltip-props`,`button-props`,`icon`]),F(Je,{grouped:``,"tooltip-props":{value:e.$t(`views.training.delete_selected`)},"button-props":{severity:`danger`,disabled:!I(Q).size||I(Ge)},icon:I(oe),"icon-props":{width:`100%`,height:`100%`},onClick:ct},null,8,[`tooltip-props`,`button-props`,`icon`])],64)):(w(),M(Je,{key:0,grouped:``,"tooltip-props":{value:e.$t(`views.training.select`)},"button-props":{severity:`secondary`},icon:I(f),"icon-props":{width:`100%`,height:`100%`},onClick:I(Ke)},null,8,[`tooltip-props`,`icon`,`onClick`]))]),_:1},8,[`force-visible`])):z(``,!0),F(de,{ref_key:`cameraMenuRef`,ref:R,items:I(Ie),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`]),F(de,{ref_key:`settingsMenuRef`,ref:V,items:I(Re),"auto-hide":!1,popover:{pt:{root:{class:`w-[22rem]`},content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}});export{xn as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CuiMarkdownContent-BXUJahQp.js","./CuiMarkdownContent-Diua-pVD.js","./vendor-nVfLT5jI.js","./rolldown-runtime-C0FnF6B9.js","./vendor-markdown-CuuUoQv-.js","./vendor-markdown-DtOhvyRx.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{Br as e,Ft as t,Gt as n,K as r,zt as i}from"./vendor-cameraui-BPX4wReW.js";import{B as a,In as o,nt as s,rt as c}from"./api-CFf063x3.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-nVfLT5jI.js";import{p as O}from"./vendor-core-D0ANiY7g.js";import{z as k}from"./vendor-primevue-iEFYdXsu.js";import{o as A}from"./server-BK9gwxH8.js";import{t as te}from"./check-circle-B4u2U1O6.js";import{t as j}from"./alert-circle-CDCxdnIi.js";import{c as M}from"./plugins-vyA7MMhx.js";import{t as N}from"./information-outline-CdLdxg1d.js";import{t as ne}from"./back-filled-CE63214a.js";import{t as re}from"./refresh-B7-CESap.js";import{t as P}from"./updates-Dzqxen12.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-BXUJahQp.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}=e(),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()}),(e,o)=>{let s=re,c=i,u=ne,p=a,x=t,C=k,O=W,P=ae,R=r,Y=te,Te=j,Ee=N,De=ie,Oe=L,$=n;return d(),T(`div`,null,[y(w)?S(``,!0):(d(),T(`div`,oe,[b(`h1`,se,D(e.$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:e.$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]||=t=>e.$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)?e.$t(`views.updates.run_updating`,{name:y(H).name}):y(U)?e.$t(`connection.restarting`):e.$t(`views.updates.run_preparing`)),1),v(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:h(()=>[_(D(e.$t(`views.updates.run_progress`,{done:y(B),total:y(z)}))+` `,1),y(J)?(d(),T(l,{key:0},[_(` · `+D(e.$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)?e.$t(`views.updates.cancelling`):e.$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(e.$t(`views.updates.all_up_to_date`)),1),v(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:h(()=>[_(D(e.$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(e.$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)?e.$t(`views.updates.summary_server_hint`):e.$t(`views.updates.checked_at`,{time:y(Z)})),1)]),_:1})]),v(c,{class:`cui-button-medium shrink-0 ml-auto`,disabled:y(K),label:e.$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),t=>(d(),T(`div`,{key:t.kind},[b(`span`,ye,D(t.title),1),v(R,{class:`cui-card`},{content:h(()=>[b(`div`,be,[(d(!0),T(l,null,f(t.items,(t,n)=>(d(),T(`div`,{key:t.id,class:ee([`flex items-center gap-4 py-3`,{"border-t border-surface":n>0}])},[t.status===`updating`||t.status===`restarting`?(d(),g(x,{key:0,class:`w-[22px] h-[22px] m-0 shrink-0`,"stroke-width":`5`})):t.status===`success`||t.status===`uptodate`?(d(),g(Y,{key:1,class:`w-[22px] h-[22px] shrink-0 text-success`})):t.status===`error`?(d(),g(Te,{key:2,class:`w-[22px] h-[22px] shrink-0 text-red-500`})):t.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(t.name),1),t.packageName?(d(),T(`span`,Ce,D(t.packageName),1)):S(``,!0),v(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint truncate`},{default:h(()=>[t.status===`error`?(d(),T(l,{key:0},[_(D(t.error),1)],64)):t.status===`restarting`?(d(),T(l,{key:1},[_(D(e.$t(`connection.restarting`)),1)],64)):t.status===`blocked`?(d(),T(l,{key:2},[_(D(we(t)),1)],64)):t.status===`uptodate`?(d(),T(l,{key:3},[_(`v`+D(t.installedVersion)+` · `+D(e.$t(`views.updates.up_to_date`)),1)],64)):t.status===`success`?(d(),T(l,{key:4},[_(D(e.$t(`views.updates.updated_to`,{version:t.latestVersion})),1)],64)):(d(),T(l,{key:5},[_(`v`+D(t.installedVersion)+` → v`+D(t.latestVersion),1)],64))]),_:2},1024)]),t.status===`pending`||t.status===`error`?(d(),T(l,{key:5},[m((d(),g(c,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md shrink-0`,onClick:e=>Q(t)},{icon:h(()=>[v(Oe,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:e.$t(`components.form.label.changelog`)},void 0,{top:!0}]]),v(c,{severity:`secondary`,outlined:``,class:`cui-button-medium shrink-0`,disabled:t.kind===`server`?y(K):y(M)||y(G),label:t.status===`error`?e.$t(`views.updates.retry`):e.$t(`components.form.button.update`),onClick:e=>y(E).updateItem(t.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};
|
|
@@ -1 +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-nVfLT5jI.js";import{w as c}from"./vendor-primevue-
|
|
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-nVfLT5jI.js";import{w as c}from"./vendor-primevue-iEFYdXsu.js";import{i as l}from"./flowSchema-DZ2bDhJt.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-B4LYkbu5.js → VariableSuggestions-BLlD4F87.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Br as e}from"./vendor-cameraui-
|
|
1
|
+
import{Br as e}from"./vendor-cameraui-BPX4wReW.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-nVfLT5jI.js";import{T as d,c as f}from"./vendor-primevue-iEFYdXsu.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};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Br as e,Ft as t}from"./vendor-cameraui-
|
|
1
|
+
import{Br as e,Ft as t}from"./vendor-cameraui-BPX4wReW.js";import{In as n,kr as r}from"./api-CFf063x3.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-nVfLT5jI.js";import{u as ae}from"./vendor-core-D0ANiY7g.js";import{K as oe,j as se}from"./vendor-primevue-iEFYdXsu.js";import{t as ce}from"./server-BK9gwxH8.js";import{n as le}from"./useServerRestart-BchofDLe.js";import{t as ue}from"./alert-circle-CDCxdnIi.js";import{t as de}from"./plugins-vyA7MMhx.js";import{t as fe}from"./CuiConsole-UxJwQqNG.js";import{t as pe}from"./useLogsSocket-DDSuX00j.js";import{t as me}from"./CuiMarkdownContent-Diua-pVD.js";import{t as he}from"./platformLabels-D-cF6OTP.js";import{t as ge}from"./config-DthCyQJv.js";import{t as _e}from"./useUpdateChannel-K9ADk5yx.js";function x(e){return`id`in e&&!(`type`in e)}function S(e){return`type`in e}var ve={key:0},ye={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`},be={class:`flex flex-col gap-1 min-w-0`},xe={class:`text-sm font-semibold text-orange-400`},Se={key:0},Ce={class:`text-xs text-orange-600 dark:text-orange-300`},we={class:`text-sm text-orange-400`},Te={key:1},Ee={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},De={key:2},Oe={class:`text-muted`},ke={class:`flex items-center gap-4 mt-4 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30`},Ae={class:`flex flex-col gap-1 min-w-0`},je={class:`text-sm font-semibold text-orange-400`},Me={class:`text-xs text-orange-600 dark:text-orange-300`},Ne={key:3},Pe={class:`cui-label`},Fe={key:4,class:`w-full h-full relative`},Ie={key:5,class:`w-full h-full p-4 flex items-center justify-center`},Le=`2.0.0`,C=p({__name:`VersionsHandler`,props:{target:{},installVersion:{},action:{}},setup(p,{expose:C}){let w=new de,T=new ce,Re=new ge,ze=a(),E=p,D=r(),{t:O}=e(),k=ae(),{mdBreakpoint:A}=n(),{beginServerRestart:Be}=le(),{isBeta:Ve}=_e(),j=y(`dialogRef`),M=y(`dialogRefProps`),{target:N,installVersion:P}=re(E),F=v();w.toggleQueryActivator(`getPluginVersionsQuery`,!1),w.toggleQueryActivator(`getPluginChangelogQuery`,!1),w.toggleQueryActivator(`getPluginCompatQuery`,!1),T.toggleQueryActivator(`checkVersionQuery`,!1),T.toggleQueryActivator(`getServerChangelogQuery`,!1);let He=g(()=>x(N.value)?N.value.pluginName:`server`),I=g(()=>E.action===`uninstall`&&x(N.value)),L=pe({target:He.value,onStdout:e=>V.value?.writeTerminal(e),onDisconnect:()=>V.value?.writeTerminal(`
|
|
2
2
|
\rWebsocket failed to connect! Is the server running?\r
|
|
3
3
|
\r
|
|
4
4
|
`),onClearLog:()=>V.value?.clearTerminal(),onReconnected:()=>{V.value?.writeTerminal(`\r
|
package/dist/interface/assets/{VirtualSensorCreate-CrGmWsI7.js → VirtualSensorCreate-Di2IyYAg.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Br as e,I as t}from"./vendor-cameraui-
|
|
1
|
+
import{Br as e,I as t}from"./vendor-cameraui-BPX4wReW.js";import{kr as n}from"./api-CFf063x3.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-nVfLT5jI.js";import{A as b,D as x}from"./types-D626ASim.js";import{j as S}from"./vendor-primevue-iEFYdXsu.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}=e(),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)}),(e,n)=>{let o=S,p=t;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:t})=>[f(`label`,C,y(e.$t(`components.form.label.type`)),1),u(o,{id:`virtualSensorType`,"model-value":d(j),options:d(N),"option-label":`label`,"option-value":`value`,invalid:t.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:t,errors:n})=>[f(`label`,w,y(e.$t(`components.form.label.name`)),1),u(p,r({id:`virtualSensorName`},t,{invalid:n.length>0,class:`w-full`,placeholder:e.$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{Br as e,Ft as t,I as n,K as r,zt as i}from"./vendor-cameraui-BPX4wReW.js";import{B as a,Bt as o,In as s,Nn as c,R as l,bt as u,i as ee,ir as d,kr as f,nt as te,sr as ne,vr as p,xt as re}from"./api-CFf063x3.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-nVfLT5jI.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-iEFYdXsu.js";import{t as pe}from"./api-4JRK8ya0.js";import{t as me}from"./plugins-vyA7MMhx.js";import{t as he}from"./CuiDataTable-DZm0I8k7.js";import{t as ge}from"./back-filled-CE63214a.js";import{t as _e}from"./pencil-outline-Pf6B58h3.js";import{r as ve,t as ye}from"./CuiChartTable-DyyQV7mt.js";import{n as be,t as xe}from"./updates-Dzqxen12.js";var N={class:`flex flex-col gap-2 w-full`},P={for:`workerName`,class:`cui-label`},Se=T({__name:`RenameWorker`,props:{currentName:{}},setup(e,{expose:t}){let r=A(e.currentName);return t({onConfirm:async()=>r.value.trim()||null}),(e,t)=>{let i=n;return h(),k(`div`,N,[C(`label`,P,M(e.$t(`views.workers.name`)),1),x(i,{id:`workerName`,modelValue:S(r),"onUpdate:modelValue":t[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=p(`/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=c(T({__name:`Workers`,setup(c){let{t:p}=e(),{smBreakpoint:g}=s(),y=te(),T=xe(),N=f(),P=De(),{workers:F,workerHistory:I,isConnected:L}=P,Ce=new pe,we=new o,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?p(`views.workers.update_failed`,{error:e.update.error}):e.update?.updating?p(`views.workers.updating`):e.versionMismatch?p(`views.workers.version_mismatch`,{version:e.version||`?`}):p(`views.workers.online`):p(`views.workers.offline`)}},{type:`category`,field:`name`,name:p(`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:p(`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:p(`views.workers.platform`),asChip:!0,columnProps:{headerClass:`min-w-40`,class:`min-w-40`}},{type:`category`,field:e=>e.pid?.toString()??`—`,name:p(`views.workers.pid`),columnProps:{headerClass:`min-w-20`,class:`min-w-20`}},{type:`category`,field:e=>e.cpuLoad===void 0?`—`:`${e.cpuLoad}%`,name:p(`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:p(`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:()=>p(`views.workers.rename_worker`),action:e=>Ht(e)},{icon:d,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:()=>p(`views.workers.restart_worker`),action:e=>Gt(e.name,e.agentId)},{icon:l,buttonProps:{severity:`danger`},loading:e=>V.value.includes(e.agentId),tooltip:()=>p(`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:p(`views.workers.rename_worker`),confirmText:p(`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?p(`views.workers.updating`):Z.value?p(`views.workers.update_worker`,{version:Z.value}):p(`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} (${p(`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?``:` (${p(`views.workers.offline`).toLowerCase()})`,a=r?``:` — ${p(`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:p(`views.workers.enable_workers`),contentText:p(`views.workers.address_required`),confirmText:p(`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:p(`views.workers.remove_worker`),confirmText:p(`views.workers.remove`),contentText:p(`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:p(`views.workers.update_failed`,{error:e}),life:6e3}))}}),w(()=>{P.disconnect()}),(e,o)=>{let s=ge,c=i,l=a,d=t,f=fe,te=oe,p=de,ae=ue,m=r,y=ye,w=ne,T=le,O=he,A=n,j=re,pe=se,me=ce;return h(),k(`div`,null,[S(g)?D(``,!0):(h(),k(`h1`,Oe,M(e.$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:o[0]||=t=>e.$router.push(`/menu`)},{icon:_(()=>[x(s,{class:`w-6 h-6`})]),_:1})]),_:1}),!S(jt)||!S(L)?(h(),k(`div`,ke,[x(d,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(h(),k(`div`,Ae,[C(`div`,null,[C(`span`,je,M(e.$t(`views.workers.configuration`)),1),x(m,{class:`cui-card`},{content:_(()=>[C(`div`,Me,[C(`div`,Ne,[C(`div`,Pe,[C(`label`,Fe,M(e.$t(`views.workers.enable_workers`)),1),x(f,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:_(()=>[b(M(e.$t(`views.workers.enable_workers_description`)),1)]),_:1})]),x(te,{"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(e.$t(`views.workers.master_address`)),1),x(p,{modelValue:S(K),"onUpdate:modelValue":o[1]||=e=>E(K)?K.value=e:null,"input-id":`master-address`,options:S(Ft),editable:``,"option-label":`label`,"option-value":`value`,placeholder:e.$t(`views.workers.master_address_placeholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`]),x(f,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:_(()=>[b(M(e.$t(`views.workers.master_address_hint`)),1)]),_:1})]),C(`div`,Re,[C(`label`,ze,M(e.$t(`views.workers.leaf_port`)),1),x(ae,{modelValue:S(q),"onUpdate:modelValue":o[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(f,{key:0,severity:`warn`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:_(()=>[b(M(e.$t(`views.workers.port_change_warning`)),1)]),_:1})):D(``,!0)]),C(`div`,Be,[x(c,{class:`cui-button-medium`,label:e.$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(e.$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(e.$t(`views.workers.no_workers`)),1)])]),_:1}))])):D(``,!0),S(Y)&&S(F).length?(h(),k(`div`,Ge,[C(`span`,Ke,M(e.$t(`views.workers.camera_assignments`)),1),x(m,{class:`cui-card`},{content:_(()=>[C(`span`,qe,M(e.$t(`views.workers.camera_assignments_description`)),1),x(O,{value:S(Nt),loading:S(mt),pt:At,"striped-rows":``,class:`w-full`},{loading:_(()=>[x(d,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:_(()=>[C(`span`,Je,M(e.$t(`views.workers.no_cameras`)),1)]),default:_(()=>[x(T,{field:`name`,header:e.$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:e.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:_(({data:t})=>[x(p,{"model-value":Q(t.workerAgentId),options:Kt(),"option-label":`label`,"option-value":`value`,placeholder:e.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:$(t._id),disabled:$(t._id),"onUpdate:modelValue":e=>$t(t,e)},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(e.$t(`views.workers.plugin_assignments`)),1),x(m,{class:`cui-card`},{content:_(()=>[C(`span`,Qe,M(e.$t(`views.workers.plugin_assignments_description`)),1),x(O,{value:S(Pt),loading:S(gt),pt:At,"striped-rows":``,class:`w-full`},{loading:_(()=>[x(d,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:_(()=>[C(`span`,$e,M(e.$t(`views.workers.no_plugins`)),1)]),default:_(()=>[x(T,{field:`displayName`,header:e.$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:e.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:_(({data:t})=>[x(p,{"model-value":Q(t.workerAgentId),options:Xt(t),"option-label":`label`,"option-value":`value`,"option-disabled":`disabled`,placeholder:e.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:Zt(t.pluginName),disabled:Zt(t.pluginName),"onUpdate:modelValue":e=>Qt(t,e)},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(e.$t(`views.workers.pair_worker`)),1),x(m,{class:`cui-card`},{content:_(()=>[C(`div`,at,[C(`span`,ot,M(e.$t(`views.workers.pair_worker_description`)),1),S(G)?(h(),k(ie,{key:0},[C(`div`,st,[C(`label`,ct,M(e.$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":e.$t(`views.workers.copied`),icon:S(u),"button-props":{severity:`secondary`,text:!0},onAction:o[3]||=e=>S(ee)(S(G).code)},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),x(f,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:_(()=>[b(M(e.$t(`views.workers.pairing_expires`,{minutes:S(Rt)})),1)]),_:1})]),C(`div`,lt,[C(`div`,ut,[C(`label`,dt,M(e.$t(`views.workers.pairing_snippet`)),1),x(j,{"action-text":e.$t(`views.workers.copied`),icon:S(u),"button-props":{severity:`secondary`,text:!0},onAction:o[4]||=e=>S(ee)(S(zt))},null,8,[`action-text`,`icon`])]),C(`pre`,ft,M(S(zt)),1),x(f,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:_(()=>[b(M(e.$t(`views.workers.pairing_snippet_hint`)),1)]),_:1})])],64)):D(``,!0),C(`div`,pt,[x(c,{class:`cui-button-medium`,label:e.$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{Dr as e,Rr as t}from"./api-CFf063x3.js";import{J as n,sr as r}from"./vendor-nVfLT5jI.js";async function i({signal:e}){return(await t.get(`/`,{signal:e})).data}var a=class{_queryClient=n();queryActivator=r([{name:`apiInfoQuery`,enabled:!0}]);get queryClient(){return this._queryClient}apiInfoQuery(){return e({queryKey:[`api`],queryFn:({signal:e})=>i({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`apiInfoQuery`&&e.enabled)})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{i as n,a as t};
|