@camera.ui/server 2.2.0 → 2.2.2
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-0R6IdIDK.js → 404-bSMSPWcp.js} +1 -1
- package/dist/interface/assets/{About-DMpFqnl5.js → About-DqMxC4AO.js} +1 -1
- package/dist/interface/assets/Assistant-CIHF-bHs.js +1 -0
- package/dist/interface/assets/Automation-CUDypjZw.js +3 -0
- package/dist/interface/assets/AutomationImport-Cr14tF-Q.js +2 -0
- package/dist/interface/assets/AutomationStore-BnZgfI9i.js +2 -0
- package/dist/interface/assets/AutomationStoreDetail-btcIglkw.js +2 -0
- package/dist/interface/assets/Automations-CKpwXTyc.js +2 -0
- package/dist/interface/assets/Camera-BEP_HAQm.js +2 -0
- package/dist/interface/assets/{CameraConsole-CUDLuW5x.js → CameraConsole-BK8TqHgA.js} +1 -1
- package/dist/interface/assets/{Cameras-CTF5buln.js → Cameras-DJreIgtW.js} +2 -2
- package/dist/interface/assets/Camview-D4VNMv_l.js +1 -0
- package/dist/interface/assets/{CertificateUpload-_VQx5fjA.js → CertificateUpload-PfgVZa4M.js} +1 -1
- package/dist/interface/assets/{Config-B0SEAh17.js → Config-DapgreIX.js} +1 -1
- package/dist/interface/assets/{ConfigActionAssistant-Ug-C-Cx8.js → ConfigActionAssistant-v0w4E-mE.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-D0BTPk1r.js → ConfigActionCameraControl-fdrsnRyE.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-C6u-CHFE.js → ConfigActionDelay-C_dq3ozL.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-CxbJVkf2.js → ConfigActionHttp-1hDI-38w.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-BpDXjbnf.js → ConfigActionImageInput-DCF8qeg9.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-m_fOoTcf.js → ConfigActionMqtt-XpVD7lFg.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-Dwpm67Cr.js → ConfigActionNotification-CB1ymMRz.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-CxlpMc7I.js → ConfigActionNotificationControl-BfDtLS5h.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-WVe74xXz.js → ConfigActionOutput-CMfXI1b3.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-C1R8SkM3.js → ConfigActionPlugin-CZo6SudQ.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-CN-KmQKx.js → ConfigActionSensor-CetFuASa.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-uIsJGPwz.js → ConfigActionSnapshot-BpPhHpIk.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-Due14Kwt.js → ConfigActionVariable-SJomTISn.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-mIXw954j.js → ConfigConditionIfElse-ClTxvZJz.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-BvS-fd36.js → ConfigConditionSensorState-FbLmmHyP.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-CYRUg-Uo.js → ConfigConditionSwitch--qAHkOdE.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-WkevpYaO.js → ConfigConditionTime-BqjDUPVR.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-BDz5olLY.js → ConfigSensorValueInput-B1dLcmSO.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-BKIh59B7.js → ConfigTriggerDetection-CMZyEWui.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-kWjR7mlR.js → ConfigTriggerGeofence-B9JPVvhP.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerManual-D7w6C58j.js → ConfigTriggerManual-CSdF69jM.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-DjDopQHT.js → ConfigTriggerMqtt-BzN7_xVm.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-1UcaRD5S.js → ConfigTriggerSchedule-BK_Ogvxn.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-DbP-61eW.js → ConfigTriggerSensor-BaQklhHP.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-CsSWt2u_.js → ConfigTriggerSystem-DIX95l0X.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-TU4l4Tgx.js → ConfigTriggerWebhook-_EOJAgNk.js} +1 -1
- package/dist/interface/assets/Console-Y1IutnkC.js +1 -0
- package/dist/interface/assets/CuiAssistantConversation-C4RYcMAM.js +5 -0
- package/dist/interface/assets/{CuiAssistantConversation-CImeuG1m.css → CuiAssistantConversation-CWCLLi3b.css} +1 -1
- package/dist/interface/assets/{CuiAutomationRunsDialog-Bez4F56I.js → CuiAutomationRunsDialog-DpskKeEe.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-Daxo4Mlc.js → CuiBottomSheet-Bg_AIuGY.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-S8bM23jj.js +1 -0
- package/dist/interface/assets/{CuiCameraPipCard-Z2PrIFdi.js → CuiCameraPipCard-HTjvF3yG.js} +1 -1
- package/dist/interface/assets/CuiCameraRecordings-Cx6FYz3Y.js +1 -0
- package/dist/interface/assets/CuiCameraShares-J728G9wF.js +1 -0
- package/dist/interface/assets/CuiCameraTable-CKur0qLE.js +1 -0
- package/dist/interface/assets/{CuiCameraTable-DDjhotD1.js → CuiCameraTable-CyAYYPvd.js} +2 -2
- package/dist/interface/assets/{CuiChartTable-CBVtsiJG.js → CuiChartTable-BklHSjRr.js} +1 -1
- package/dist/interface/assets/{CuiConsole-Cb22vO0N.js → CuiConsole-4rDfDj0a.js} +1 -1
- package/dist/interface/assets/{CuiDataTable-DCCXx-KT.js → CuiDataTable-BLyeEEAp.js} +1 -1
- package/dist/interface/assets/CuiLightControl-C1YSJSWd.js +1 -0
- package/dist/interface/assets/{CuiList-Dfklll0h.js → CuiList-BafzuN0H.js} +1 -1
- package/dist/interface/assets/CuiPluginCard-enc00hbc.js +2 -0
- package/dist/interface/assets/CuiPluginCategoryChip-B4w2DH_j.js +1 -0
- package/dist/interface/assets/CuiPluginOAuthButton-C_jxPrPQ.js +2 -0
- package/dist/interface/assets/{CuiPluginTrustBadge-DU-SN0LX.js → CuiPluginTrustBadge-pLnF2Ggn.js} +1 -1
- package/dist/interface/assets/{CuiQRCode-CE5p3ucc.js → CuiQRCode-8Q6cFdfs.js} +1 -1
- package/dist/interface/assets/CuiSchema-CRHUMY0B.js +1 -0
- package/dist/interface/assets/{CuiTopNavbarItem-DloEl6H2.js → CuiTopNavbarItem-BZXzuV42.js} +1 -1
- package/dist/interface/assets/Faces-fMMd6-PY.js +1 -0
- package/dist/interface/assets/FirstSteps-BNcAFp2c.js +1 -0
- package/dist/interface/assets/Floorplan-BQbOWCCf.js +1 -0
- package/dist/interface/assets/{Instances-BCs2bvFK.js → Instances-DUWWy-El.js} +1 -1
- package/dist/interface/assets/{Logs-Bc8Vw1LC.js → Logs-7CxXc2Re.js} +2 -2
- package/dist/interface/assets/{Menu-CxyTrCpO.js → Menu-B3VA0LMx.js} +1 -1
- package/dist/interface/assets/Metrics-C0q2BdKH.js +9 -0
- package/dist/interface/assets/OAuthDeviceFlow-ZiCl4400.js +1 -0
- package/dist/interface/assets/Plugin-C0CPlt4f.js +1 -0
- package/dist/interface/assets/{PluginConsole-C-OYBgoX.js → PluginConsole-BOaU7Ey0.js} +1 -1
- package/dist/interface/assets/PluginDetail-DDh6PfMd.js +2 -0
- package/dist/interface/assets/{PluginSchema-DWvIHRcH.js → PluginSchema-BWlRMPo6.js} +1 -1
- package/dist/interface/assets/PluginSearch-BR_ei8Pa.js +1 -0
- package/dist/interface/assets/PluginSearch-C2AXz2KG.js +2 -0
- package/dist/interface/assets/{PluginUpdateProgress-Co2Q3sTn.js → PluginUpdateProgress-DFg14vV8.js} +1 -1
- package/dist/interface/assets/Plugins-CN1YIfNk.js +1 -0
- package/dist/interface/assets/RecentEventsFilter-B6Ph-pxb.js +1 -0
- package/dist/interface/assets/Recordings-jhxwdrQY.js +1 -0
- package/dist/interface/assets/{SensorEdit-B_23v49k.js → SensorEdit-DEenjJ8S.js} +1 -1
- package/dist/interface/assets/{SensorHistory-CoMfC6Fx.js → SensorHistory-CU1Uwf5f.js} +1 -1
- package/dist/interface/assets/Sensors-LnVLPDWf.js +2 -0
- package/dist/interface/assets/{Settings-BH-IbtGi.js → Settings-uk3RVXCS.js} +1 -1
- package/dist/interface/assets/SettingsAccount-CJ_fPrT-.js +1 -0
- package/dist/interface/assets/SettingsAccount-CYn81m0Z.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-JbKDfSiu.js → SettingsAppearance-CRYcal9v.js} +1 -1
- package/dist/interface/assets/SettingsAppearance-DFe8JsT5.js +1 -0
- package/dist/interface/assets/SettingsAssistant-CDyI6fee.css +1 -0
- package/dist/interface/assets/SettingsAssistant-Dm4oINqB.js +1 -0
- package/dist/interface/assets/{SettingsBackup-DNDyM2p5.js → SettingsBackup-CSvGqsru.js} +1 -1
- package/dist/interface/assets/{SettingsList-C9cI0Flx.js → SettingsList-BQR6jnP-.js} +1 -1
- package/dist/interface/assets/SettingsMqtt-ByQYIRkm.js +1 -0
- package/dist/interface/assets/SettingsNotifications-8sSoP-8S.js +1 -0
- package/dist/interface/assets/{SettingsPermissions-B6vNyFvJ.js → SettingsPermissions-D7kYdjfw.js} +1 -1
- package/dist/interface/assets/SettingsRecordings-DjLYqbKo.js +1 -0
- package/dist/interface/assets/SettingsRemote-7iDccnV9.js +2 -0
- package/dist/interface/assets/SettingsSystem-BxQNJc8n.js +2 -0
- package/dist/interface/assets/SettingsUsers-yYobKcPv.js +1 -0
- package/dist/interface/assets/{Terminal-DlJD6leH.js → Terminal-Bsnvs8gs.js} +2 -2
- package/dist/interface/assets/Training-BUhrkDzA.css +1 -0
- package/dist/interface/assets/Training-SOWa6Ay1.js +1 -0
- package/dist/interface/assets/{Updates-BV7OHWjC.js → Updates-Dsn_fJ-N.js} +1 -1
- package/dist/interface/assets/{VariableInput-Ds5NaShw.js → VariableInput-DCWiIgaZ.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-B0Y5QsCw.js → VariableSuggestions-BhIlXJ6r.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-DYZDc3SX.js → VersionsHandler-DM_Jf4EA.js} +1 -1
- package/dist/interface/assets/VirtualSensorCreate-Q4kd0dfE.js +1 -0
- package/dist/interface/assets/Workers-D7mXpfvC.js +2 -0
- package/dist/interface/assets/api-BKiE8A_V.css +2 -0
- package/dist/interface/assets/api-Cl7JjXOQ.js +4 -0
- package/dist/interface/assets/{api-BA88nyEF.js → api-LjAY3aa3.js} +1 -1
- package/dist/interface/assets/{assistant-Ba5Ac9Nh.js → assistant-BFc44oq-.js} +1 -1
- package/dist/interface/assets/{auth-YWWYJni-.js → auth-CUPvHARA.js} +1 -1
- package/dist/interface/assets/automations-Dw4L5sT0.js +1 -0
- package/dist/interface/assets/cameraSources-CzENFiZx.js +1 -0
- package/dist/interface/assets/cloudHandoff-CGMLCwMb.js +1 -0
- package/dist/interface/assets/{config-BfTF54hH.js → config-EBcNBZkb.js} +1 -1
- package/dist/interface/assets/dots-vertical-C4DlXZyp.js +1 -0
- package/dist/interface/assets/eventIcons-BPQ-zSnz.js +1 -0
- package/dist/interface/assets/{flowSchema-ZMBzlKJI.js → flowSchema-CdzBw69a.js} +1 -1
- package/dist/interface/assets/{intercomService-DQ4LZJfW.js → intercomService-DIfdcsXc.js} +1 -1
- package/dist/interface/assets/main-W8WcKa2g.js +3 -0
- package/dist/interface/assets/{main-CbPa_jky.css → main-XHFrBKKz.css} +1 -1
- package/dist/interface/assets/mqtt-D_wH18eJ.js +1 -0
- package/dist/interface/assets/{notifications-D2QwzHwL.js → notifications-wLsrlI9N.js} +1 -1
- package/dist/interface/assets/plugins-DwmkpOPJ.js +1 -0
- package/dist/interface/assets/rooms-D_7As09p.js +1 -0
- package/dist/interface/assets/sensorIcons-BY853M0u.js +1 -0
- package/dist/interface/assets/{sensorSlots-CUWphRrL.js → sensorSlots-DnRJdaTG.js} +1 -1
- package/dist/interface/assets/{sensors-KDhClJkT.js → sensors-B9etOqBI.js} +1 -1
- package/dist/interface/assets/{server-BZUgxc3a.js → server-BTKgKMye.js} +1 -1
- package/dist/interface/assets/{theme-BPfSpHbW.js → theme-CbtGvohq.js} +1 -1
- package/dist/interface/assets/types-BEy4uGJ0.js +1 -0
- package/dist/interface/assets/{types-BxQYBZ2c.js → types-CEhVWRYD.js} +1 -1
- package/dist/interface/assets/types-COlvVtDn.js +1 -0
- package/dist/interface/assets/ungrouped-BJyBDv5e.js +1 -0
- package/dist/interface/assets/{updates-DBcWStos.js → updates-BQ6Ugcup.js} +1 -1
- package/dist/interface/assets/{useAppVersion-CnkrpDgi.js → useAppVersion-BO-3jbup.js} +1 -1
- package/dist/interface/assets/{useAssistantActions-BeXqj2-6.js → useAssistantActions-CRVHZw4o.js} +1 -1
- package/dist/interface/assets/{useBackupRestore-DMO3YoI3.js → useBackupRestore-D305pYHT.js} +1 -1
- package/dist/interface/assets/{useCameraOptions-Dka0PweD.js → useCameraOptions-C7tgceJ1.js} +1 -1
- package/dist/interface/assets/{useKeyboardInset--YIaX3ui.js → useKeyboardInset-yu3BVnj7.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-CuBhuz2x.js → useLogsSocket-B4wTnSno.js} +1 -1
- package/dist/interface/assets/{useNavLayout-DqfVqch5.js → useNavLayout-Z61-OsIG.js} +1 -1
- package/dist/interface/assets/{usePermissions-CsWQ7pWp.js → usePermissions-Bjx4t0x3.js} +1 -1
- package/dist/interface/assets/{usePluginUpdates-Bd9aG0m4.js → usePluginUpdates-Dv3_XJTK.js} +1 -1
- package/dist/interface/assets/{usePushRegistration-CRfLAqg_.js → usePushRegistration-CHNMZ94f.js} +1 -1
- package/dist/interface/assets/{useServerRestart-dZl5kp-p.js → useServerRestart-C-AsOdJP.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-CUhV9eYE.js → useStreamStatus-BJoJF68x.js} +1 -1
- package/dist/interface/assets/{useTabSwipe-CygERn8O.js → useTabSwipe-b_K3BIkW.js} +1 -1
- package/dist/interface/assets/{useUpdateChannel-DWFsxlIH.js → useUpdateChannel-Cc4IrrDy.js} +1 -1
- package/dist/interface/assets/{useUpdatesSocket-DrvP72pd.js → useUpdatesSocket-Cz9lN4Bc.js} +1 -1
- package/dist/interface/assets/{useUserOptions-RG_d0mku.js → useUserOptions-DrNB17kY.js} +1 -1
- package/dist/interface/assets/{vendor-cameraui-zaB6gIk1.js → vendor-cameraui-CqKq4Yeo.js} +1 -1
- package/dist/interface/assets/{vendor-core-CfoDuMvj.js → vendor-core-BTkC8NzR.js} +1 -1
- package/dist/interface/assets/{vendor-primevue-5HrOunkM.js → vendor-primevue-DQz5Qnqu.js} +1 -1
- package/dist/interface/assets/vendor-zod-BigRv4ty.js +109 -0
- package/dist/interface/ha/{404-BhFXBx4d.js → 404-Bg2Vlt5S.js} +1 -1
- package/dist/interface/ha/{About-D2u_8ssN.js → About-C6u2wgUi.js} +6 -6
- package/dist/interface/ha/{Assistant-DlUU6WbS.js → Assistant-BCyiVnwD.js} +1127 -1081
- package/dist/interface/ha/{Automation-Dddvbd8Y.js → Automation-DU_qv5xD.js} +176 -176
- package/dist/interface/ha/{AutomationImport-C8QyqnLL.js → AutomationImport-BpDyhabF.js} +7 -7
- package/dist/interface/ha/{AutomationStore-BbcWkMlV.js → AutomationStore-DPQsunpH.js} +52 -51
- package/dist/interface/ha/{AutomationStoreDetail-C6wqQI8t.js → AutomationStoreDetail-CASMQ-mD.js} +23 -23
- package/dist/interface/ha/{Automations-BL3XKISI.js → Automations-DSHVzwX4.js} +90 -90
- package/dist/interface/ha/{Camera-DjdtVIDf.js → Camera-ESmteicm.js} +42 -42
- package/dist/interface/ha/{CameraConsole-D_9KgIy6.js → CameraConsole-BE_jl4Co.js} +5 -5
- package/dist/interface/ha/{Cameras-BRKa0gO0.js → Cameras-otaj2xZO.js} +279 -279
- package/dist/interface/ha/{Camview-ugcvjRhF.js → Camview-BU1027if.js} +464 -463
- package/dist/interface/ha/{Config-GkoXI3ND.js → Config-BlEvHYVP.js} +11 -11
- package/dist/interface/ha/{ConfigActionAssistant-FdyhQC1g.js → ConfigActionAssistant-uDf5fgoJ.js} +4 -4
- package/dist/interface/ha/{ConfigActionCameraControl-CfM81AXm.js → ConfigActionCameraControl-BAQsXVLz.js} +5 -5
- package/dist/interface/ha/{ConfigActionHttp-DwPoY52J.js → ConfigActionHttp-Dy2MZHSm.js} +2 -2
- package/dist/interface/ha/{ConfigActionImageInput-Bgcc8iTW.js → ConfigActionImageInput-B5kyV3Un.js} +1 -1
- package/dist/interface/ha/{ConfigActionMqtt-Do3Lc6-c.js → ConfigActionMqtt-DHCgh1xx.js} +4 -4
- package/dist/interface/ha/{ConfigActionNotification-B_0IACMJ.js → ConfigActionNotification-mbA5PfcJ.js} +4 -4
- package/dist/interface/ha/{ConfigActionNotificationControl-dC7lQqHI.js → ConfigActionNotificationControl-TLaL7tYm.js} +2 -2
- package/dist/interface/ha/{ConfigActionOutput-BCQUuCL3.js → ConfigActionOutput-CJ40Fniw.js} +1 -1
- package/dist/interface/ha/{ConfigActionPlugin-ClGszpNQ.js → ConfigActionPlugin-BwTd-mdQ.js} +5 -5
- package/dist/interface/ha/{ConfigActionSensor-DuQR6Yu4.js → ConfigActionSensor-BI438ihg.js} +6 -6
- package/dist/interface/ha/{ConfigActionSnapshot-E7Hp07Q0.js → ConfigActionSnapshot-DJ4zI2a0.js} +2 -2
- package/dist/interface/ha/{ConfigActionVariable-CHkWJ76e.js → ConfigActionVariable-Bhy5jf_w.js} +1 -1
- package/dist/interface/ha/{ConfigConditionIfElse-BBgNDLpw.js → ConfigConditionIfElse-I7Qq8nfN.js} +3 -3
- package/dist/interface/ha/{ConfigConditionSensorState-BiFmpbMg.js → ConfigConditionSensorState-CTLP3ppx.js} +4 -4
- package/dist/interface/ha/{ConfigConditionSwitch-BZp4hCmz.js → ConfigConditionSwitch-UUupXf1b.js} +10 -10
- package/dist/interface/ha/{ConfigConditionTime-CcZFjBil.js → ConfigConditionTime-CRn4k6uE.js} +2 -2
- package/dist/interface/ha/{ConfigSensorValueInput-CI_4-6-o.js → ConfigSensorValueInput-CoHheDT0.js} +5 -4
- package/dist/interface/ha/{ConfigTriggerDetection-D5Yfd6nh.js → ConfigTriggerDetection-Cg_jKNed.js} +4 -4
- package/dist/interface/ha/{ConfigTriggerGeofence-BuadOROr.js → ConfigTriggerGeofence-WlJbu3sC.js} +6 -6
- package/dist/interface/ha/{ConfigTriggerMqtt-DKr9Lje8.js → ConfigTriggerMqtt-BeRJoceK.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSensor-DGYJoRq9.js → ConfigTriggerSensor-k58gVKdG.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerSystem-HXnm4_7F.js → ConfigTriggerSystem-Ckm5yoUm.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerWebhook-DBxcAAJI.js → ConfigTriggerWebhook-D425z-p1.js} +6 -6
- package/dist/interface/ha/{Console-BMvw2vXY.js → Console-C1Ub4Rji.js} +100 -100
- package/dist/interface/ha/{CuiAutomationRunsDialog-QNvLMPna.js → CuiAutomationRunsDialog-opy5qXwE.js} +2 -2
- package/dist/interface/ha/{CuiBottomSheet-CnDN0_Tp.js → CuiBottomSheet-DbCwVXl1.js} +1 -1
- package/dist/interface/ha/{CuiCameraRecordings-B4yap0Gu.js → CuiCameraRecordings-CifJLj7G.js} +20 -19
- package/dist/interface/ha/{CuiCameraShares-nPodkk2P.js → CuiCameraShares-Xty8LRcn.js} +7 -7
- package/dist/interface/ha/{CuiCameraTable-IsutvZcy.js → CuiCameraTable-CqfxX0Yn.js} +9 -9
- package/dist/interface/ha/{CuiChartTable-Dd0_sAge.js → CuiChartTable-ABHnLdR0.js} +36 -36
- package/dist/interface/ha/{CuiConsole-BZVHMf0M.js → CuiConsole-3JwbeUYD.js} +5 -5
- package/dist/interface/ha/{CuiDataTable--yJTTWKH.js → CuiDataTable-BwE7D2h5.js} +7 -6
- package/dist/interface/ha/{CuiPluginCard-D3hHRaFf.js → CuiPluginCard-bzxiy1yb.js} +53 -53
- package/dist/interface/ha/{CuiPluginOAuthButton-Dv9K7ZbU.js → CuiPluginOAuthButton-DSxrzDmg.js} +6 -6
- package/dist/interface/ha/{CuiPluginTrustBadge-8HRs2vnR.js → CuiPluginTrustBadge-g0XkvDt8.js} +3 -3
- package/dist/interface/ha/{CuiQRCode-CfLMS7k7.js → CuiQRCode-uyRFbzd6.js} +6 -6
- package/dist/interface/ha/{CuiSchema-CCrY2Lx-.js → CuiSchema-DZIrlY8R.js} +148 -148
- package/dist/interface/ha/{CuiTopNavbarItem-CRls6-wE.js → CuiTopNavbarItem-C3a5NA7u.js} +1 -1
- package/dist/interface/ha/{Faces-DRaKBXFa.js → Faces-D2eca8MN.js} +109 -108
- package/dist/interface/ha/{FirstSteps-Dyq-VE0F.js → FirstSteps-CdTE1cvw.js} +64 -64
- package/dist/interface/ha/{Floorplan-euEQQ_Wp.js → Floorplan-BrEC2Au5.js} +379 -378
- package/dist/interface/ha/{Instances-DRLfaxS6.js → Instances-ClOsPOi8.js} +20 -20
- package/dist/interface/ha/{Logs-CCK0wJOu.js → Logs-DnY1gTnb.js} +12 -12
- package/dist/interface/ha/{Menu-DUlknRU8.js → Menu-cLDE76XZ.js} +16 -16
- package/dist/interface/ha/{Metrics-R6cm39jI.js → Metrics-pMQX_0m1.js} +97 -96
- package/dist/interface/ha/{OAuthDeviceFlow-qpAW51DL.js → OAuthDeviceFlow-D1PGQ8r9.js} +9 -9
- package/dist/interface/ha/{Plugin-C_ucUCim.js → Plugin-DiC23P97.js} +83 -82
- package/dist/interface/ha/{PluginConsole-B3biAENv.js → PluginConsole-B-lX5KJu.js} +6 -6
- package/dist/interface/ha/{PluginDetail-tIUv1KCl.js → PluginDetail-B_tVJf6y.js} +10 -10
- package/dist/interface/ha/{PluginSearch-BoqtcJfg.js → PluginSearch-n8nfjx9q.js} +35 -34
- package/dist/interface/ha/{PluginUpdateProgress-Ci0J6dHX.js → PluginUpdateProgress-BjsYyrRk.js} +3 -3
- package/dist/interface/ha/{Plugins-LE7-xUCl.js → Plugins-CFhOUaqq.js} +178 -191
- package/dist/interface/ha/RecentEventsFilter-C1deXNIS.js +79 -0
- package/dist/interface/ha/{Recordings-DbvAT7YJ.js → Recordings-B07eUJwH.js} +332 -361
- package/dist/interface/ha/{SensorEdit-BqEjosUi.js → SensorEdit-DFPiBXQD.js} +362 -360
- package/dist/interface/ha/{SensorHistory-DXV4mdTs.js → SensorHistory-B2FOK4Qa.js} +2 -2
- package/dist/interface/ha/{Sensors-Bcs1GBQJ.js → Sensors-DtzmTc-L.js} +525 -523
- package/dist/interface/ha/{Settings-BwomsDjK.js → Settings-ClqSoFjT.js} +25 -25
- package/dist/interface/ha/{SettingsAccount-0onAlHuN.js → SettingsAccount-Bh8FfH7J.js} +263 -262
- package/dist/interface/ha/{SettingsAppearance-DBOsOLUc.js → SettingsAppearance--FJgY8cj.js} +20 -20
- package/dist/interface/ha/{SettingsAssistant-Cfsd5Uw6.js → SettingsAssistant-ClDfxd_d.js} +664 -613
- package/dist/interface/ha/{SettingsBackup-hj8iLx0k.js → SettingsBackup-BYM55pQ7.js} +39 -39
- package/dist/interface/ha/{SettingsList-B3ri6DQ2.js → SettingsList-CMSEKVCD.js} +2 -2
- package/dist/interface/ha/{SettingsMqtt-BjsuWyUa.js → SettingsMqtt-CFpgJ-E5.js} +149 -149
- package/dist/interface/ha/{SettingsNotifications-DVgF5Rri.js → SettingsNotifications-CzgsBNtW.js} +5 -5
- package/dist/interface/ha/{SettingsRecordings-BFhs0muG.js → SettingsRecordings-Bz686yU7.js} +10 -9
- package/dist/interface/ha/{SettingsRemote-B2Ei9dR1.js → SettingsRemote-DT4ZMjJO.js} +358 -358
- package/dist/interface/ha/{SettingsSystem-CXTNGd2y.js → SettingsSystem-CHctt06D.js} +9 -9
- package/dist/interface/ha/{SettingsUsers-CgPnsdzW.js → SettingsUsers-C_hvntON.js} +39 -39
- package/dist/interface/ha/{Terminal-Dwmdp2vt.js → Terminal-B5FXq4-Z.js} +41 -41
- package/dist/interface/ha/{Training-CdzQ1WtN.js → Training-BgvpsKPM.js} +469 -469
- package/dist/interface/ha/{Updates-CTU4JiFI.js → Updates-D0osNjqS.js} +13 -13
- package/dist/interface/ha/{VariableInput-C2qGWTPn.js → VariableInput-BK0qqMc7.js} +1 -1
- package/dist/interface/ha/{VersionsHandler-Z7RAUdO5.js → VersionsHandler-B-vpKHJN.js} +9 -9
- package/dist/interface/ha/{VirtualSensorCreate-BsRO9E1F.js → VirtualSensorCreate-Bp2201iM.js} +3 -3
- package/dist/interface/ha/{Workers-D_jtMnzt.js → Workers-BQ_luGWk.js} +86 -86
- package/dist/interface/ha/{accordion-DdpJ2jcK.js → accordion-X9Wa7KVq.js} +1 -1
- package/dist/interface/ha/{api-i97kvGtZ.js → api-BufZW7-A.js} +3 -3
- package/dist/interface/ha/{api-DRr9pyiA.js → api-JPS8NpNG.js} +9133 -9618
- package/dist/interface/ha/{assistant-DT5mH0IU.js → assistant-BXVGCw2q.js} +54 -54
- package/dist/interface/ha/{auth-Dd-U6Sx5.js → auth-CJC9G9BA.js} +38 -38
- package/dist/interface/ha/{automationBlueprint-Bp5haBxv.js → automationBlueprint-DWuBiu_Q.js} +4 -3
- package/dist/interface/ha/cameraui-cards.js +1 -1
- package/dist/interface/ha/{cards-B_qaT-id.js → cards-CGP6dWjy.js} +558 -557
- package/dist/interface/ha/checkbox-D012nd17.js +279 -0
- package/dist/interface/ha/{config-Cdjp82J6.js → config-BVURO_DZ.js} +15 -15
- package/dist/interface/ha/{datepicker-DpDmhDeD.js → datepicker-44Ub2Hx0.js} +329 -604
- package/dist/interface/ha/dist-BTp4AyuI.js +287 -0
- package/dist/interface/ha/{dist-aGnBxAoZ.js → dist-Ca4K4HIm.js} +763 -1048
- package/dist/interface/ha/dots-vertical-BEPlUtxU.js +19 -0
- package/dist/interface/ha/eventIcons-DrjNuTS2.js +676 -0
- package/dist/interface/ha/{mqtt--xCEEs7T.js → mqtt-DY6EvMC9.js} +11 -11
- package/dist/interface/ha/{multiselect-Cedfen4P.js → multiselect-B0fAnW75.js} +1 -1
- package/dist/interface/ha/{notifications-ByL47yWP.js → notifications-BdIqgnrC.js} +21 -21
- package/dist/interface/ha/{pinia-Dk3LfWcE.js → pinia-CqffEnzx.js} +2283 -2268
- package/dist/interface/ha/{plugins-OikBHddG.js → plugins-Bnq2Iw00.js} +67 -67
- package/dist/interface/ha/pwa/favicon-16.ico +0 -0
- package/dist/interface/ha/pwa/favicon-32.ico +0 -0
- package/dist/interface/ha/pwa/favicon-48.ico +0 -0
- package/dist/interface/ha/pwa/pwa-120x120.png +0 -0
- package/dist/interface/ha/pwa/pwa-24x24.png +0 -0
- package/dist/interface/ha/pwa/pwa-36x36.png +0 -0
- package/dist/interface/ha/pwa/pwa-48x48.png +0 -0
- package/dist/interface/ha/pwa/pwa-50x50.png +0 -0
- package/dist/interface/ha/pwa/pwa-64x64.png +0 -0
- package/dist/interface/ha/pwa/pwa-72x72.png +0 -0
- package/dist/interface/ha/pwa/pwa-88x88.png +0 -0
- package/dist/interface/ha/pwa/pwa-96x96.png +0 -0
- package/dist/interface/ha/{rooms-CMwrVqJO.js → rooms-AiJ5Tfir.js} +8 -8
- package/dist/interface/ha/{server-Byevi9ww.js → server-BHhFn2RZ.js} +30 -30
- package/dist/interface/ha/{types-D1-pD0Vp.js → types-7oMK8VO-.js} +26 -26
- package/dist/interface/ha/{ungrouped-a_k9QFxB.js → ungrouped-hib17Nvu.js} +29 -28
- package/dist/interface/ha/{updates-DapEyqmr.js → updates-DvnEEUsx.js} +36 -36
- package/dist/interface/ha/{useAppVersion-CBK74lkV.js → useAppVersion-BmWXr96y.js} +1 -1
- package/dist/interface/ha/{useLogsSocket-DsxXBViV.js → useLogsSocket-BKlJKGCB.js} +1 -1
- package/dist/interface/ha/{useNavLayout-D24L7VNu.js → useNavLayout-Dt0NH-G5.js} +11 -11
- package/dist/interface/ha/{useServerRestart-qTNapyIx.js → useServerRestart-DWs2dqQc.js} +1 -1
- package/dist/interface/ha/{useTabSwipe-DEha11Zv.js → useTabSwipe-vX79p6V_.js} +1 -1
- package/dist/interface/ha/{useUpdateChannel-DI-Ki0yH.js → useUpdateChannel-CHlRp8uj.js} +2 -2
- package/dist/interface/ha/{useUpdatesSocket-CKUgku1R.js → useUpdatesSocket-B40Cx-2L.js} +1 -1
- package/dist/interface/ha/{useUserOptions-BY-pcxd_.js → useUserOptions-hXz79rIV.js} +1 -1
- package/dist/interface/index.html +35 -34
- package/dist/interface/pwa/favicon-16.ico +0 -0
- package/dist/interface/pwa/favicon-32.ico +0 -0
- package/dist/interface/pwa/favicon-48.ico +0 -0
- package/dist/interface/pwa/pwa-120x120.png +0 -0
- package/dist/interface/pwa/pwa-24x24.png +0 -0
- package/dist/interface/pwa/pwa-36x36.png +0 -0
- package/dist/interface/pwa/pwa-48x48.png +0 -0
- package/dist/interface/pwa/pwa-50x50.png +0 -0
- package/dist/interface/pwa/pwa-64x64.png +0 -0
- package/dist/interface/pwa/pwa-72x72.png +0 -0
- package/dist/interface/pwa/pwa-88x88.png +0 -0
- package/dist/interface/pwa/pwa-96x96.png +0 -0
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +4 -4
- package/dist/server/src/api/controllers/users.controller.d.ts +3 -1
- package/dist/server/src/api/controllers/users.controller.js +38 -0
- package/dist/server/src/api/controllers/users.controller.js.map +1 -1
- package/dist/server/src/api/database/record-schemas.d.ts +44 -1
- package/dist/server/src/api/database/record-schemas.js +3 -3
- package/dist/server/src/api/database/record-schemas.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +4 -2
- package/dist/server/src/api/routes/users.routes.js +24 -1
- package/dist/server/src/api/routes/users.routes.js.map +1 -1
- package/dist/server/src/api/schemas/assistant.schema.d.ts +43 -1
- package/dist/server/src/api/schemas/assistant.schema.js +2 -1
- package/dist/server/src/api/schemas/assistant.schema.js.map +1 -1
- package/dist/server/src/api/schemas/users.schema.d.ts +8 -0
- package/dist/server/src/api/schemas/users.schema.js +45 -0
- package/dist/server/src/api/schemas/users.schema.js.map +1 -1
- package/dist/server/src/api/services/users.service.d.ts +3 -1
- package/dist/server/src/api/services/users.service.js +33 -0
- package/dist/server/src/api/services/users.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +4 -1
- package/dist/server/src/api/types/index.js.map +1 -1
- package/dist/server/src/assistant/manager.js +23 -4
- package/dist/server/src/assistant/manager.js.map +1 -1
- package/dist/server/src/assistant/prompt.d.ts +1 -0
- package/dist/server/src/assistant/prompt.js +10 -1
- package/dist/server/src/assistant/prompt.js.map +1 -1
- package/dist/server/src/assistant/search.js +4 -2
- package/dist/server/src/assistant/search.js.map +1 -1
- package/dist/server/src/assistant/skills.js +3 -2
- package/dist/server/src/assistant/skills.js.map +1 -1
- package/dist/server/src/assistant/tools/index.js +2 -2
- package/dist/server/src/assistant/tools/index.js.map +1 -1
- package/dist/server/src/assistant/tools/notifications.d.ts +2 -1
- package/dist/server/src/assistant/tools/notifications.js +69 -35
- package/dist/server/src/assistant/tools/notifications.js.map +1 -1
- package/dist/server/src/assistant/tools/plugins.d.ts +7 -1
- package/dist/server/src/assistant/tools/plugins.js +13 -9
- package/dist/server/src/assistant/tools/plugins.js.map +1 -1
- package/dist/server/src/assistant/uploads.js +29 -2
- package/dist/server/src/assistant/uploads.js.map +1 -1
- package/dist/server/src/manager/downloadManager.d.ts +1 -0
- package/dist/server/src/manager/downloadManager.js +3 -0
- package/dist/server/src/manager/downloadManager.js.map +1 -1
- package/dist/server/src/manager/notificationManager.d.ts +1 -0
- package/dist/server/src/manager/notificationManager.js +13 -2
- package/dist/server/src/manager/notificationManager.js.map +1 -1
- package/package.json +4 -4
- package/dist/interface/assets/Assistant-DiL48qbB.js +0 -1
- package/dist/interface/assets/Automation-B0hMNSAw.js +0 -3
- package/dist/interface/assets/AutomationImport-BSb9krZ4.js +0 -2
- package/dist/interface/assets/AutomationStore-B0CoLiA8.js +0 -2
- package/dist/interface/assets/AutomationStoreDetail-CBolb08V.js +0 -2
- package/dist/interface/assets/Automations-kqWnqU6P.js +0 -2
- package/dist/interface/assets/Camera-vyc9F0HE.js +0 -2
- package/dist/interface/assets/Camview-DVs7NJlA.js +0 -1
- package/dist/interface/assets/Console-BCKOiAw3.js +0 -1
- package/dist/interface/assets/CuiAssistantConversation-DcPtJCQY.js +0 -5
- package/dist/interface/assets/CuiBottomSheet-DSf4fJTK.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-BIPlJiZL.js +0 -1
- package/dist/interface/assets/CuiCameraShares-DAlZyr-0.js +0 -1
- package/dist/interface/assets/CuiCameraTable-BgKbs8gK.js +0 -1
- package/dist/interface/assets/CuiLightControl-BdgBiaE3.js +0 -1
- package/dist/interface/assets/CuiPluginCard-ACM-8XiS.js +0 -2
- package/dist/interface/assets/CuiPluginCategoryChip-C5EQGJ3M.js +0 -1
- package/dist/interface/assets/CuiPluginOAuthButton-DzLXHOoU.js +0 -2
- package/dist/interface/assets/CuiSchema-BGDsFg7E.js +0 -1
- package/dist/interface/assets/Faces-4IZtM2h6.js +0 -1
- package/dist/interface/assets/FirstSteps-CNONDDmE.js +0 -1
- package/dist/interface/assets/Floorplan-BibtwoH-.js +0 -1
- package/dist/interface/assets/Metrics-C8EucBD8.js +0 -9
- package/dist/interface/assets/OAuthDeviceFlow-BPl8Ol0d.js +0 -1
- package/dist/interface/assets/Plugin-DGXAz6ID.js +0 -1
- package/dist/interface/assets/PluginDetail-jnxv0aEv.js +0 -2
- package/dist/interface/assets/PluginSearch-4DArZA-1.js +0 -2
- package/dist/interface/assets/PluginSearch-oQ7-vW_I.js +0 -1
- package/dist/interface/assets/Plugins-CX35AoGP.js +0 -1
- package/dist/interface/assets/Recordings-edUqNrNY.js +0 -1
- package/dist/interface/assets/Sensors-CFJX3XaI.js +0 -2
- package/dist/interface/assets/SettingsAccount-B665agGW.js +0 -1
- package/dist/interface/assets/SettingsAccount-CXMp3Jle.js +0 -1
- package/dist/interface/assets/SettingsAppearance-CHerioe-.js +0 -1
- package/dist/interface/assets/SettingsAssistant-BpTwRGXe.css +0 -1
- package/dist/interface/assets/SettingsAssistant-CcjD56Pd.js +0 -1
- package/dist/interface/assets/SettingsMqtt-Bh6bhYa0.js +0 -1
- package/dist/interface/assets/SettingsNotifications-B6wReKt5.js +0 -1
- package/dist/interface/assets/SettingsRecordings-CVdOQF8g.js +0 -1
- package/dist/interface/assets/SettingsRemote-CEUmUMfH.js +0 -2
- package/dist/interface/assets/SettingsSystem-BoPBhsJr.js +0 -2
- package/dist/interface/assets/SettingsUsers-DsBxZ-Tq.js +0 -1
- package/dist/interface/assets/Training-CfSPxQgA.js +0 -1
- package/dist/interface/assets/Training-DMNjB3uX.css +0 -1
- package/dist/interface/assets/VirtualSensorCreate-B1B2frUr.js +0 -1
- package/dist/interface/assets/Workers-BBIGwhRS.js +0 -2
- package/dist/interface/assets/api-C85p0Dk3.css +0 -2
- package/dist/interface/assets/api-DgcK7TwB.js +0 -4
- package/dist/interface/assets/automations-BPmaAqhX.js +0 -1
- package/dist/interface/assets/cameraSources-B5dOcB7w.js +0 -1
- package/dist/interface/assets/cloudHandoff-Bk25i74p.js +0 -1
- package/dist/interface/assets/main-Ceiwp3VL.js +0 -3
- package/dist/interface/assets/mqtt-DHY_na1K.js +0 -1
- package/dist/interface/assets/plugins-EdSbk-EV.js +0 -1
- package/dist/interface/assets/rooms-Cg8aq9k9.js +0 -1
- package/dist/interface/assets/sensorIcons-DJTgAwaE.js +0 -1
- package/dist/interface/assets/types-BZz-3rol.js +0 -1
- package/dist/interface/assets/types-zwRUIzRx.js +0 -1
- package/dist/interface/assets/ungrouped-IUmtQN_P.js +0 -1
- package/dist/interface/assets/vendor-zod-BMOt_yT8.js +0 -109
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Bt as e,H as t,J as n,Kt as r,L as ee,Vr as i,ai as a,li as o,ni as s,q as te,si as ne}from"./vendor-cameraui-CqKq4Yeo.js";import{An as re,Cr as c,Dn as l,H as u,I as ie,L as d,Mn as f,On as p,Pr as m,Pt as h,Qn as ae,Qt as oe,R as g,Tr as se,U as _,_n as ce,et as v,f as y,fn as le,gn as ue,h as de,kn as b,l as fe,mr as x,ot as pe,z as S}from"./api-Cl7JjXOQ.js";import{$n as C,Cr as w,Hn as me,In as T,Jn as E,K as D,R as he,Rn as O,Sr as k,Xn as ge,Z as A,br as _e,cn as j,dn as M,dr as N,er as P,gn as F,hn as I,jn as L,ln as R,lr as z,nn as B,nr as V,or as ve,rn as H,sn as U,sr as W,un as G,vn as ye,yr as K}from"./vendor-CP-WYrgy.js";import{F as be,L as xe,P as Se,R as Ce,a as we,d as Te}from"./vendor-primevue-DQz5Qnqu.js";import{t as Ee}from"./close-Gg5h2MPz.js";import{t as De}from"./chevron-down-BmHRUHVR.js";import{t as Oe}from"./help-circle-outline-BrCQn_fb.js";import{t as ke}from"./trash-can-outline-B7IPK5NP.js";import{t as Ae}from"./ring-resize-MiubMIoG.js";import{t as q}from"./search-CSFYlWFv.js";import{n as je,t as Me}from"./cloud-check-CB0qNXSP.js";import{t as Ne}from"./back-filled-xrzKyz1B.js";import{t as Pe}from"./settings-b9NE6YOU.js";var Fe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ie(e,t){return T(),M(`svg`,Fe,[...t[0]||=[j(`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=W({name:`mdi-cloud-check-outline`,render:Ie}),Re={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function J(e,t){return T(),M(`svg`,Re,[...t[0]||=[j(`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=W({name:`mdi-cloud-upload-outline`,render:J}),Y=200;async function X(e={},{signal:t}={}){return(await m.get(`/training/candidates`,{params:e,signal:t})).data}async function Be(e,t){return(await m.patch(`/training/candidates/${e}`,t)).data}async function Z(e){await m.delete(`/training/candidates/${e}`)}async function Ve(e){let t=0;for(let n=0;n<e.length;n+=Y){let r=await m.post(`/training/candidates/submit`,{ids:e.slice(n,n+Y)});t+=r.data.queued}return{queued:t}}async function He({cursor:e,signal:t}={}){return(await m.get(`/training/submissions`,{params:e?{cursor:e}:void 0,signal:t})).data}async function Q(e){await m.delete(`/training/submissions/${e}`)}async function Ue({signal:e}={}){return(await m.get(`/training/settings`,{signal:e})).data}async function We(e){return(await m.patch(`/training/settings`,e)).data}var Ge=class{queryClient=A();getCandidatesQuery(){return c({queryKey:[`training-candidates`],queryFn:({signal:e})=>X({},{signal:e}),staleTime:5e3})}getSettingsQuery(){return c({queryKey:[`training-settings`],queryFn:({signal:e})=>Ue({signal:e}),staleTime:3e4})}patchCandidateMutation(){return D({mutationFn:({id:e,patch:t})=>Be(e,t),onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-candidates`],exact:!0})}})}deleteCandidateMutation(){return D({mutationFn:Z,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-candidates`],exact:!0})}})}deleteSubmissionMutation(){return D({mutationFn:Q})}submitCandidatesMutation(){return D({mutationFn:Ve,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-candidates`],exact:!0})}})}patchSettingsMutation(){return D({mutationFn:We,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-settings`],exact:!0})}})}},Ke=[`person`,`vehicle`,`animal`,`package`,`face`,`license_plate`],qe={desktop:{maxWidth:`1280px`,width:`85vw`}},Je={class:`flex items-center justify-between gap-2 text-sm`},Ye={class:`min-w-0 flex items-center gap-2`},Xe={class:`font-medium truncate`},Ze={class:`text-muted shrink-0`},Qe={class:`text-muted tabular-nums shrink-0`},$e=[`data-stage-zoom`],et=[`src`],tt=[`x`,`y`,`width`,`height`,`stroke`,`fill`,`fill-opacity`,`stroke-width`,`onPointerdown`],nt=[`onPointerdown`],rt=[`cx`,`cy`],it=[`cx`,`cy`,`fill`],at=[`x`,`y`,`width`,`height`,`stroke`,`fill`],ot=[`data-box-label`,`onPointerdown`],st={class:`bbox-label-text`},ct={key:0,class:`bbox-label-confidence`},lt={key:1,class:`bbox-label-confidence`},ut=[`src`],dt={class:`absolute inset-0 w-full h-full`},ft=[`x`,`y`,`width`,`height`,`stroke`,`fill`],pt=[`x`,`y`,`width`,`height`,`stroke`,`fill`],mt={key:2,class:`absolute left-2 top-1/2 -translate-y-1/2 z-[5] dark-mode`},ht={key:3,class:`absolute right-2 top-1/2 -translate-y-1/2 z-[5] dark-mode`},gt={key:0,class:`flex items-center justify-center gap-2`},_t={class:`text-muted text-sm`,for:`plate-text`},vt={class:`flex items-center justify-center gap-1.5`},yt={class:`text-muted text-sm text-center`},bt={key:1,class:`grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 justify-center mx-auto text-sm text-muted`},xt=.01,St=.006,Ct=26,wt=60,Tt=400,Et=110,Dt=2,Ot=80,kt=50,At=.003,jt=p(ye({__name:`TrainingBoxEditor`,props:{candidates:{},startId:{},cameraName:{type:Function},imageUrl:{type:Function},onSave:{type:Function},onDelete:{type:Function}},setup(t,{expose:n}){let r=t,{t:te,te:ne}=i(),re=[`nw`,`ne`,`sw`,`se`],c=new Map,l=z(new Set),u=z(new Set),ie=Math.max(0,r.candidates.findIndex(e=>e.id===r.startId)),d=de(),f=E(`rootRef`),p=E(`labelMenuRef`),m=E(`stageRef`),h=E(`frameRef`),ae=E(`svgRef`),g=N(r.candidates[ie]?.boxes.map(e=>({...e}))??[]),se=N({w:16,h:9}),_=N(null),y=N(null),b=N(-1),x=N(!1),pe=o(`(any-pointer: fine)`),S=N(null),D=null,A=N(-1),P=N(`person`),L=N(ie),{zoom:V,pan:W,constraining:ye,minimapStyle:be,minimapBoxStyle:xe,onZoomPan:Se,onDoubleClick:Ce,onTouchStart:Te,onTouchEnd:Ee,reset:De}=v(m,h),{height:Ae}=s(h),q=U(()=>r.candidates[L.value]),je=U(()=>r.candidates.slice(0,L.value+1).filter(e=>!l.has(e.id)).length),Me=U(()=>r.candidates.filter(e=>!l.has(e.id)).length),Ne=U(()=>r.candidates.slice(0,L.value).some(e=>!l.has(e.id))),Pe=U(()=>r.candidates.slice(L.value+1).some(e=>!l.has(e.id))),Fe=U(()=>u.has(q.value.id)?`verified`:q.value.status),Ie=U(()=>{let e=g.value[b.value];return e?.label===`license_plate`?e:null}),Le=U(()=>[...Ke.map(e=>({key:e,label:ze(e),icon:oe(e).icon,iconProps:{style:{color:oe(e).color}},active:g.value[A.value]?.label===e,onClick:()=>Vt(e)})),{key:`remove`,label:te(`components.training_editor.remove_box`),icon:ke,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},onClick:()=>Ut(A.value)}]),Re=U(()=>e=>{let t=Ae.value||360;return e.y*t>=Ct?`above`:t-(e.y+e.height)*t>=Ct?`below`:`inside`}),J=U(()=>e=>e.x>.7);function ze(e){let t=`components.training_editor.labels.${e}`;return ne(t)?te(t):e}function Y(e){return oe(e)}function X(e){return`${e*100}%`}function Be(e,t){return X(t===`nw`||t===`sw`?e.x:e.x+e.width)}function Z(e,t){return X(t===`nw`||t===`ne`?e.y:e.y+e.height)}function Ve(e){let t={backgroundColor:Y(e.label).color};J.value(e)?t.right=X(1-e.x-e.width):t.left=X(e.x);let n=Re.value(e);return t.top=n===`above`?X(e.y):n===`below`?X(e.y+e.height):`calc(${X(e.y)} + 2px)`,t}function He(e){let t=e.target;t.naturalWidth&&t.naturalHeight&&(se.value={w:t.naturalWidth,h:t.naturalHeight})}function Q(e){let t=ae.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 Ue(e,t){_.value={...t,moved:!1},ae.value?.setPointerCapture(e.pointerId)}function We(e){if(p.value?.hide(),V.value>1||!e.isPrimary)return;let{x:t,y:n}=Q(e);Ue(e,{mode:`draw`,index:-1,startX:t,startY:n,origin:{label:P.value,confidence:1,x:t,y:n,width:0,height:0}})}function Ge(e,t){if(!t.isPrimary)return;let{x:n,y:r}=Q(t);b.value=e,Ue(t,{mode:`move`,index:e,startX:n,startY:r,origin:{...g.value[e]}})}function qe(e,t,n){if(!n.isPrimary)return;p.value?.hide();let{x:r,y:ee}=Q(n);b.value=e,Ue(n,{mode:`resize`,index:e,corner:t,startX:r,startY:ee,origin:{...g.value[e]}})}function jt(e){e.touches.length>1&&_.value&&(_.value=null,y.value=null,S.value=null),Te(e)}function Mt(e){let t=_.value;if(!t)return;let{x:n,y:r}=Q(e);if(Math.hypot(n-t.startX,r-t.startY)>St&&(t.moved=!0),e.pointerType===`touch`&&t.moved&&(Pt(t)?Ft(e):S.value=null),t.mode===`draw`){if(t.moved){let e=zt(t.startX,t.startY,n,r);y.value=e.width>=xt&&e.height>=xt?{label:P.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 ee=t.corner===`nw`||t.corner===`sw`?t.origin.x+t.origin.width:t.origin.x,i=t.corner===`nw`||t.corner===`ne`?t.origin.y+t.origin.height:t.origin.y;Object.assign(g.value[t.index],zt(ee,i,n,r))}function Nt(e){let t=_.value;if(_.value=null,S.value=null,t){if(t.mode===`draw`){y.value&&y.value.width>=xt&&y.value.height>=xt?(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&&Bt(t.index,e)}}function Pt(e){let t=ae.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)<=kt}function Ft(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=Et/2,ee=Math.min(Math.max(e.clientX-n.left,59),n.width-r-4),i=e.clientY-n.top-Ot;i-r<4&&(i=e.clientY-n.top+Ot),S.value={x:ee,y:i,frameW:t.width,frameH:t.height,tx:r-(e.clientX-t.left)*Dt,ty:r-(e.clientY-t.top)*Dt}}function It(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 Lt(e){if(D=null,e.touches.length!==1||!It(e.target))return;let t=e.touches[0];D={x:t.clientX,y:t.clientY,at:Date.now()}}function Rt(e){let t=D;if(D=null,!t||e.changedTouches.length!==1)return;let n=e.changedTouches[0],r=n.clientX-t.x,ee=n.clientY-t.y;Date.now()-t.at<=Tt&&Math.abs(r)>=wt&&Math.abs(r)>2*Math.abs(ee)&&$(r<0?1:-1)}function zt(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 Bt(e,t){A.value=e;let n=h.value?.querySelector(`[data-box-label="${e}"]`);p.value?.toggleMenu(t,n??void 0)}function Vt(e){let t=g.value[A.value];t&&(t.label=e,t.confidence=1,P.value=e)}function Ht(e){let t=g.value[b.value];t&&(t.text=(e??``).toUpperCase().replace(/[^A-Z0-9ÄÖÜ\- ]/g,``)||void 0)}function Ut(e){e<0||e>=g.value.length||(g.value.splice(e,1),b.value=-1)}function Wt(e,t=!0){e<0||e>=r.candidates.length||(t&&c.set(q.value.id,g.value.map(e=>({...e}))),L.value=e,g.value=(c.get(q.value.id)??q.value.boxes).map(e=>({...e})),y.value=null,_.value=null,S.value=null,b.value=-1,A.value=-1,p.value?.hide(),De())}async function Gt(e){return await r.onSave(q.value.id,g.value.map(e=>({...e})),e),c.set(q.value.id,g.value.map(e=>({...e}))),e===`verified`&&u.add(q.value.id),$(1,!1)?null:void 0}function $(e,t=!0){let n=L.value+e;for(;n>=0&&n<r.candidates.length&&l.has(r.candidates[n].id);)n+=e;return n<0||n>=r.candidates.length?!1:(Wt(n,t),!0)}async function Kt(){let e=q.value.id;return await r.onDelete(e),c.delete(e),l.add(e),$(1,!1)||$(-1,!1)?null:void 0}function qt(){for(let e of[1,-1]){let t=L.value+e;for(;t>=0&&t<r.candidates.length&&l.has(r.candidates[t].id);)t+=e;let n=r.candidates[t];n&&(new Image().src=r.imageUrl(n.id))}}function Jt(e){g.value.length&&(b.value=(b.value+e+g.value.length)%g.value.length)}function Yt(e){let t=g.value[b.value];if(!t)return;let n=Ke,r=n[(n.indexOf(t.label)+e+n.length)%n.length];t.label=r,t.confidence=1,P.value=r}function Xt(e,t,n){let r=g.value[b.value];r&&(n?(r.width=Math.min(1-r.x,Math.max(xt,r.width+e)),r.height=Math.min(1-r.y,Math.max(xt,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(L,qt,{immediate:!0}),a(window,`keydown`,e=>{if(e.target?.closest?.(`input, textarea`))return;let t={ArrowLeft:[-.003,0],ArrowRight:[At,0],ArrowUp:[0,-.003],ArrowDown:[0,At]};if(t[e.key]){if(b.value>=0){e.preventDefault();let[n,r]=t[e.key];Xt(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(),Jt(e.shiftKey?-1:1)):e.key===`Escape`?(b.value=-1,p.value?.hide()):(e.key===`Delete`||e.key===`Backspace`)&&b.value>=0?Ut(b.value):e.key===`s`||e.key===`S`?Yt(e.shiftKey?-1:1):e.key===` `&&!p.value?.isOpen&&(e.preventDefault(),Gt(`verified`)))}),a(()=>f.value?.closest(`.p-dialog-content`)??void 0,`touchstart`,Lt,{passive:!0}),a(()=>f.value?.closest(`.p-dialog-content`)??void 0,`touchend`,Rt,{passive:!0}),n({onConfirm:()=>Gt(`verified`),onCancel:()=>Kt()}),(n,r)=>{let i=we,a=ue,o=e,s=ce,te=ee,ne=Oe;return T(),M(`div`,{ref_key:`rootRef`,ref:f,class:`flex flex-col gap-3 h-full min-h-0`},[j(`div`,Je,[j(`div`,Ye,[F(i,{severity:K(Fe)===`verified`?`success`:`info`,value:n.$t(`views.training.status_${K(Fe)}`),class:`shrink-0`},null,8,[`severity`,`value`]),j(`span`,Xe,w(t.cameraName(K(q).cameraId)),1),j(`span`,Ze,w(K(fe)(K(q).createdAt)),1)]),j(`span`,Qe,w(K(je))+` / `+w(K(Me)),1)]),j(`div`,{ref_key:`stageRef`,ref:m,class:`stage relative w-full bg-black rounded-lg shrink-0 overflow-hidden select-none`},[F(K(he),{pan:K(W),"onUpdate:pan":r[6]||=e=>ve(W)?W.value=e:null,zoom:K(V),"onUpdate:zoom":r[7]||=e=>ve(V)?V.value=e:null,"pan-enabled":K(V)>1&&!K(_),"enable-control-button":!1,"dbl-click-enabled":!1,"min-zoom":1,"max-zoom":K(5),selector:`[data-stage-zoom='${K(d)}']`,"zoom-origin":`pointer`,class:_e([`absolute inset-0 flex items-center justify-center`,{"zoom-constraining":K(ye)}]),onPanned:K(Se),onZoom:K(Se),onDblclick:K(Ce),onTouchstart:jt,onTouchend:K(Ee)},{default:C(()=>[j(`div`,{ref_key:`frameRef`,ref:h,"data-stage-zoom":K(d),class:`frame relative`,style:k({"--ar-w":K(se).w,"--ar-h":K(se).h})},[j(`img`,{src:t.imageUrl(K(q).id),class:`absolute inset-0 w-full h-full`,draggable:`false`,onLoad:He},null,40,et),(T(),M(`svg`,{ref_key:`svgRef`,ref:ae,class:_e([`absolute inset-0 w-full h-full touch-none`,K(V)>1?`cursor-grab`:`cursor-crosshair`]),onPointerdown:We,onPointermove:Mt,onPointerup:Nt,onPointercancel:Nt},[(T(!0),M(H,null,O(K(g),(e,t)=>(T(),M(`g`,{key:t},[j(`rect`,{x:X(e.x),y:X(e.y),width:X(e.width),height:X(e.height),stroke:Y(e.label).color,fill:Y(e.label).color,"fill-opacity":t===K(b)?.22:.12,"stroke-width":t===K(b)?3.5:2,"vector-effect":`non-scaling-stroke`,class:`cursor-move`,onPointerdown:B(e=>Ge(t,e),[`stop`]),onTouchstart:r[0]||=B(()=>{},[`stop`]),onMousedown:r[1]||=B(()=>{},[`stop`])},null,40,tt),(T(),M(H,null,O(re,n=>j(`g`,{key:n,class:`cursor-nwse-resize`,onPointerdown:B(e=>qe(t,n,e),[`stop`]),onTouchstart:r[2]||=B(()=>{},[`stop`]),onMousedown:r[3]||=B(()=>{},[`stop`])},[j(`circle`,{cx:Be(e,n),cy:Z(e,n),r:`14`,fill:`transparent`},null,8,rt),j(`circle`,{cx:Be(e,n),cy:Z(e,n),r:`4.5`,fill:Y(e.label).color},null,8,it)],40,nt)),64))]))),128)),K(y)?(T(),M(`rect`,{key:0,x:X(K(y).x),y:X(K(y).y),width:X(K(y).width),height:X(K(y).height),stroke:Y(K(y).label).color,fill:Y(K(y).label).color,"fill-opacity":`0.1`,"stroke-dasharray":`6 4`,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`},null,8,at)):G(``,!0)],34)),(T(!0),M(H,null,O(K(g),(e,t)=>(T(),M(`div`,{key:`label-${t}`,class:_e([`bbox-label cursor-move`,{"label-bottom":K(Re)(e)===`below`,"label-inside":K(Re)(e)===`inside`,"label-right":K(J)(e)}]),"data-box-label":t,onPointerdown:B(e=>Ge(t,e),[`stop`]),onTouchstart:r[4]||=B(()=>{},[`stop`]),onMousedown:r[5]||=B(()=>{},[`stop`]),style:k(Ve(e))},[(T(),R(me(Y(e.label).icon),{class:`bbox-label-icon`})),j(`span`,st,w(ze(e.label)),1),e.text?(T(),M(`span`,ct,w(e.text),1)):e.confidence<1?(T(),M(`span`,lt,w(Math.round(e.confidence*100))+`%`,1)):G(``,!0)],46,ot))),128))],12,$e)]),_:1},8,[`pan`,`zoom`,`pan-enabled`,`max-zoom`,`selector`,`class`,`onPanned`,`onZoom`,`onDblclick`,`onTouchend`]),K(be)?(T(),M(`div`,{key:0,class:`zoom-minimap`,style:k(K(xe)??void 0)},[j(`div`,{class:`zoom-minimap-viewport`,style:k(K(be))},null,4)],4)):G(``,!0),K(S)?(T(),M(`div`,{key:1,class:`loupe`,style:k({left:`${K(S).x}px`,top:`${K(S).y}px`})},[j(`div`,{class:`loupe-content`,style:k({width:`${K(S).frameW}px`,height:`${K(S).frameH}px`,transform:`translate(${K(S).tx}px, ${K(S).ty}px) scale(${Dt})`})},[j(`img`,{src:t.imageUrl(K(q).id),class:`absolute inset-0 w-full h-full`,draggable:`false`},null,8,ut),(T(),M(`svg`,dt,[(T(!0),M(H,null,O(K(g),(e,t)=>(T(),M(`rect`,{key:t,x:X(e.x),y:X(e.y),width:X(e.width),height:X(e.height),stroke:Y(e.label).color,fill:Y(e.label).color,"fill-opacity":`0.1`,"stroke-width":`1.5`},null,8,ft))),128)),K(y)?(T(),M(`rect`,{key:0,x:X(K(y).x),y:X(K(y).y),width:X(K(y).width),height:X(K(y).height),stroke:Y(K(y).label).color,fill:Y(K(y).label).color,"fill-opacity":`0.1`,"stroke-dasharray":`4 3`,"stroke-width":`1.5`},null,8,pt)):G(``,!0)]))],4),r[11]||=j(`div`,{class:`loupe-crosshair`},null,-1)],4)):G(``,!0),K(Ne)?(T(),M(`div`,mt,[F(o,{severity:`secondary`,rounded:``,class:`cui-icon-md opacity-60 hover:opacity-100`,onClick:r[8]||=B(e=>$(-1),[`stop`])},{icon:C(()=>[F(a,{width:`100%`,height:`100%`})]),_:1})])):G(``,!0),K(Pe)?(T(),M(`div`,ht,[F(o,{severity:`secondary`,rounded:``,class:`cui-icon-md opacity-60 hover:opacity-100`,onClick:r[9]||=B(e=>$(1),[`stop`])},{icon:C(()=>[F(s,{width:`100%`,height:`100%`})]),_:1})])):G(``,!0)],512),K(Ie)?(T(),M(`div`,gt,[j(`label`,_t,w(n.$t(`components.training_editor.plate_text`)),1),F(te,{id:`plate-text`,"model-value":K(Ie).text??``,size:`small`,maxlength:`12`,class:`w-40 uppercase`,placeholder:`ABC 1234`,"onUpdate:modelValue":Ht},null,8,[`model-value`])])):G(``,!0),j(`div`,vt,[j(`span`,yt,w(n.$t(`components.training_editor.hint`)),1),K(pe)?(T(),R(o,{key:0,severity:`secondary`,text:``,rounded:``,class:`cui-icon-sm shrink-0`,onClick:r[10]||=e=>x.value=!K(x)},{icon:C(()=>[F(ne,{class:`w-4 h-4`})]),_:1})):G(``,!0)]),K(pe)&&K(x)?(T(),M(`div`,bt,[r[12]||=j(`span`,null,[j(`kbd`,null,`Tab`)],-1),j(`span`,null,w(n.$t(`components.training_editor.sc_select`)),1),r[13]||=I(),r[14]||=j(`span`,null,[j(`kbd`,null,`←↑→↓`)],-1),j(`span`,null,w(n.$t(`components.training_editor.sc_move`)),1),r[15]||=I(),r[16]||=j(`span`,null,[j(`kbd`,null,`Shift`),I(` + `),j(`kbd`,null,`←↑→↓`)],-1),j(`span`,null,w(n.$t(`components.training_editor.sc_resize`)),1),r[17]||=I(),r[18]||=j(`span`,null,[j(`kbd`,null,`S`)],-1),j(`span`,null,w(n.$t(`components.training_editor.sc_label`)),1),r[19]||=I(),r[20]||=j(`span`,null,[j(`kbd`,null,`Del`)],-1),j(`span`,null,w(n.$t(`components.training_editor.sc_delete`)),1),r[21]||=I(),r[22]||=j(`span`,null,[j(`kbd`,null,`Esc`)],-1),j(`span`,null,w(n.$t(`components.training_editor.sc_deselect`)),1),r[23]||=I(),r[24]||=j(`span`,null,[j(`kbd`,null,`Space`)],-1),j(`span`,null,w(n.$t(`components.training_editor.sc_verify`)),1),r[25]||=I(),r[26]||=j(`span`,null,[j(`kbd`,null,`←`),I(` / `),j(`kbd`,null,`→`)],-1),j(`span`,null,w(n.$t(`components.training_editor.sc_nav`)),1)])):G(``,!0),F(le,{ref_key:`labelMenuRef`,ref:p,items:K(Le),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])],512)}}}),[[`__scopeId`,`data-v-f21c606f`]]),Mt=z({progress:null}),Nt=null,Pt=null,Ft=new Set,It=new Set;function Lt(e){for(let t of e)try{t()}catch{}}async function Rt(){if(Pt?.ready.value)try{let e=await Pt.request(`get-submit-progress`);e.active?Mt.progress=e:Mt.progress?.active&&(Mt.progress=null)}catch{}}function zt(){Rt(),Lt(Ft),Lt(It)}function Bt(){return Pt||(Nt=V(!0),Nt.run(()=>{let e=x(`/training`);Pt=e,e.on(`candidates-changed`,()=>Lt(Ft)),e.on(`submit-progress`,e=>{Mt.progress=e,Lt(Ft)}),e.onReady(zt)}),Pt)}function Vt(){function e(){Bt()}function t(e){return Ft.add(e),()=>Ft.delete(e)}function n(e){return It.add(e),()=>It.delete(e)}function r(){Mt.progress=null}return{submitProgress:U(()=>Mt.progress),connect:e,onCandidatesChanged:t,onResync:n,dismissProgress:r}}var Ht={class:`flex flex-col gap-3`},Ut={key:0,class:`flex flex-col gap-2`},Wt={key:1,class:`flex flex-col items-center gap-3 py-10`},Gt={class:`text-muted text-sm text-center max-w-sm`},$={key:2,class:`flex flex-col items-center gap-3 py-10`},Kt={class:`text-muted text-sm text-center max-w-sm`},qt={class:`text-muted text-sm`},Jt={class:`w-24 aspect-video rounded-lg overflow-hidden bg-black/5 dark:bg-black/30 shrink-0`},Yt={class:`flex-1 min-w-0`},Xt={class:`flex flex-wrap items-center gap-1`},Zt={class:`text-xs text-muted mt-1`},Qt={key:0,class:`flex justify-center py-2`},$t=ye({__name:`TrainingSubmissions`,setup(t){let ee=new Ge,{t:a,te:o}=i(),s=se(),te=Vt(),re=ee.deleteSubmissionMutation(),c=N(``),u=N([]),d=N(0),f=N(),p=N(!0),m=N(!1),h=N(!1),ae=E(`loadMoreRef`);function g(e){let t={};for(let n of e.labels)t[n.label]=(t[n.label]??0)+1;return t}function _(e){let t=`components.training_editor.labels.${e}`;return o(t)?a(t):e}async function ce(){p.value=u.value.length===0;try{let e=await He();u.value=e.items,d.value=e.total??e.items.length,f.value=e.nextCursor,h.value=!1}catch{h.value=!0}finally{p.value=!1}}async function v(){let e=f.value;if(e&&!m.value){m.value=!0;try{let t=await He({cursor:e}),n=new Set(u.value.map(e=>e.id));u.value.push(...t.items.filter(e=>!n.has(e.id))),f.value=t.nextCursor}catch(e){s.add({severity:`error`,detail:e?.message??String(e),life:5e3})}finally{m.value=!1}}}async function y(e){c.value=e;try{await re.mutateAsync(e),u.value=u.value.filter(t=>t.id!==e),d.value=Math.max(0,d.value-1)}catch(e){s.add({severity:`error`,detail:e?.message??String(e),life:5e3})}finally{c.value=``}}ne(ae,([e])=>{e?.isIntersecting&&v()}),ge(()=>te.submitProgress.value?.active,(e,t)=>{t&&!e&&ce()});let le=te.onResync(()=>{ce()});return L(()=>{le()}),ce(),(t,ee)=>{let i=n,a=je,o=ie,s=l,te=we,ne=ke,se=e,ce=Ae,v=r;return T(),M(`div`,Ht,[K(p)?(T(),M(`div`,Ut,[(T(),M(H,null,O(4,e=>F(i,{key:e,height:`72px`,"border-radius":`12px`})),64))])):K(h)?(T(),M(`div`,Wt,[F(a,{class:`w-10 h-10 text-muted`}),j(`span`,Gt,w(t.$t(`components.training_submissions.load_failed`)),1)])):K(u).length?(T(),M(H,{key:3},[j(`span`,qt,w(t.$t(`components.training_submissions.count`,K(d))),1),(T(!0),M(H,null,O(K(u),e=>(T(),M(`div`,{key:e.id,class:`cui-card h-auto! shrink-0 p-2 flex items-center gap-3`},[j(`div`,Jt,[F(s,{src:e.imageUrl,"image-container-class":`w-full h-full`,"image-style":{objectFit:`cover`}},null,8,[`src`])]),j(`div`,Yt,[j(`div`,Xt,[(T(!0),M(H,null,O(g(e),(e,t)=>(T(),M(`span`,{key:t,class:`px-1.5 py-0.5 rounded text-xs font-medium text-white`,style:k({backgroundColor:K(oe)(String(t)).color})},w(_(String(t)))+` ×`+w(e),5))),128))]),j(`div`,Zt,w(K(fe)(new Date(e.createdAt).getTime())),1)]),F(te,{severity:e.usedInWave?`success`:`info`,value:e.usedInWave?t.$t(`components.training_submissions.status_trained`):t.$t(`components.training_submissions.status_pool`),class:`shrink-0`},null,8,[`severity`,`value`]),P((T(),R(se,{severity:`danger`,text:``,rounded:``,class:`cui-icon-sm shrink-0`,loading:K(re).isPending.value&&K(c)===e.id,onClick:t=>y(e.id)},{icon:C(()=>[F(ne,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[v,t.$t(`components.training_submissions.delete`),void 0,{left:!0}]])]))),128)),K(m)?(T(),M(`div`,Qt,[F(ce,{class:`w-5 h-5 text-primary`})])):K(f)?(T(),M(`div`,{key:1,ref_key:`loadMoreRef`,ref:ae,class:`h-px`},null,512)):G(``,!0)],64)):(T(),M(`div`,$,[F(o,{class:`w-10 h-10 text-muted`}),j(`span`,Kt,w(t.$t(`components.training_submissions.empty`)),1)]))])}}}),en={desktop:{maxWidth:`720px`,width:`90vw`}},tn={class:`flex flex-col`},nn={key:0,class:`page-title`},rn={class:`font-semibold text-xl truncate`},an={class:`flex gap-2 mb-4`},on={key:1,class:`cui-card h-auto! shrink-0 px-3 py-2 mb-4 flex items-center gap-3`},sn={class:`flex-1 min-w-0`},cn={class:`text-sm`},ln={class:`flex-1 text-sm`},un={class:`p-3`},dn={key:3,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4 py-16`},fn={class:`text-muted text-sm text-center max-w-md`},pn={class:`relative flex-1 min-h-0 overflow-hidden bg-black/5 dark:bg-black/30`},mn={class:`absolute top-1.5 left-1.5 flex flex-wrap gap-1`},hn={key:0,class:`absolute bottom-1.5 left-1.5`},gn={key:1,class:`absolute top-1.5 right-1.5 dark-mode`},_n={class:`flex items-center justify-between gap-2`},vn={class:`flex items-center gap-2 min-w-0`},yn={class:`min-w-0`},bn={class:`font-medium truncate`},xn={class:`text-xs text-muted`},Sn=40,Cn=ye({__name:`Training`,setup(a){let o=new h,s=new Ge,{t:c,te:ie}=i(),p=pe(),m=se(),{smBreakpoint:ce}=f(),v=s.getCandidatesQuery(),ue=s.getSettingsQuery(),de=s.patchCandidateMutation(),x=s.deleteCandidateMutation(),me=s.patchSettingsMutation(),D=s.submitCandidatesMutation(),he=Vt(),{data:A}=o.getCamerasQuery({page:1,pageSize:-1}),z=N(``),V=N(Sn),W=E(`cameraMenuRef`),ye=E(`settingsMenuRef`),Oe=E(`loadMoreRef`),Fe=U(()=>({gridTemplateColumns:`repeat(auto-fill, minmax(${ce.value?`220px`:`260px`}, 1fr))`})),Ie=U(()=>{let e=[...new Set((v.data.value??[]).map(e=>$e(e.cameraId)))].sort((e,t)=>e.localeCompare(t));return[{key:`all`,label:c(`views.training.all_cameras`),active:z.value===``,onClick:()=>{z.value=``}},...e.map(e=>({key:e,label:e,active:z.value===e,onClick:()=>{z.value=e}}))]}),Re=U(()=>[{key:`collect`,label:c(`views.training.collection_enabled`),description:c(`views.training.collection_hint`),toggle:!0,toggleState:ue.data.value?.enabled??!0,onClick:()=>{dt(!(ue.data.value?.enabled??!0))}}]),J=U(()=>{let e=z.value.trim().toLowerCase();return e?(v.data.value??[]).filter(t=>$e(t.cameraId).toLowerCase().includes(e)):v.data.value??[]}),Y=U(()=>J.value.slice(0,V.value)),X=U(()=>J.value.length>Y.value.length),Be=U(()=>(v.data.value??[]).filter(e=>He(e)).length),Z=U(()=>he.submitProgress.value?he.submitProgress.value:Be.value>0?{active:!0,total:Be.value,done:0,failed:0}:null),Ve=U(()=>J.value.filter(e=>!He(e)));function He(e){return e.upload===`queued`||e.upload===`uploading`}let{selectionMode:Q,selectedIds:Ue,allSelected:We,bulkBusy:Ke,enterSelectionMode:Je,exitSelectionMode:Ye,toggleSelectAll:Xe,toggleSelection:Ze}=d(Ve,e=>e.id),Qe=U(()=>[...Ue.value].filter(e=>v.data.value?.find(t=>t.id===e)?.status===`verified`));function $e(e){return A.value?.result?.find(t=>t._id===e)?.name??e}function et(e){return y(`/api/training/candidates/${e}/image`)??``}function tt(e){let t=`components.training_editor.labels.${e}`;return ie(t)?c(t):e}function nt(e){let t={};for(let n of e.boxes)t[n.label]=(t[n.label]??0)+1;return t}function rt(e){return e===`verified`?`success`:`info`}function it(){V.value+=Sn}function at(e){if(!He(e)){if(Q.value){Ze(e.id);return}ot(e)}}function ot(e){p.openComponentDialog(jt,{data:{title:c(`views.training.title`),cancelText:c(`components.form.button.remove`),confirmText:c(`components.training_editor.verify`),cancelButtonProps:{severity:`danger`},contentProps:{candidates:J.value.map(e=>({...e})),startId:e.id,cameraName:$e,imageUrl:et,onSave:async(e,t,n)=>{await de.mutateAsync({id:e,patch:{boxes:t,status:n}})},onDelete:async e=>{await x.mutateAsync(e)}}},dialogSize:qe})}function st(){p.openComponentDialog($t,{data:{title:c(`views.training.submissions`),hideConfirmButton:!0,cancelText:c(`components.form.button.close`),contentProps:{}},dialogSize:en})}function ct(){let e=Qe.value;e.length&&!D.isPending.value&&p.openTextDialog({data:{title:c(`components.dialog.title.confirm`),contentText:c(`views.training.submit_confirm`,{count:e.length}),confirmText:c(`views.training.submit`)},onConfirm:async()=>{try{await D.mutateAsync(e),Ye()}catch(e){m.add({severity:`error`,detail:e?.message??String(e),life:8e3})}}})}function lt(){let e=[...Ue.value];e.length&&!Ke.value&&p.openTextDialog({data:{title:c(`components.dialog.title.confirm`),contentText:c(`views.training.delete_selected_confirm`,{count:e.length}),confirmText:c(`components.form.button.remove`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{Ke.value=!0;try{for(let t of e)await x.mutateAsync(t);Ye(),m.add({severity:`success`,detail:c(`views.training.delete_selected_done`,{count:e.length}),life:5e3})}catch(e){m.add({severity:`error`,detail:e?.message??String(e),life:5e3})}finally{Ke.value=!1}}})}async function ut(e){await x.mutateAsync(e.id)}async function dt(e){await me.mutateAsync({enabled:e})}ge(z,()=>{V.value=Sn}),ne(Oe,([e])=>{e?.isIntersecting&&it()}),he.connect();let ft=he.onCandidatesChanged(()=>{v.refetch()});return L(()=>{ft()}),(i,a)=>{let o=Ne,s=e,ne=_,ie=q,d=Se,f=ee,p=be,m=De,h=xe,se=Ce,y=Le,ue=Pe,de=Ae,x=Te,pe=je,me=Me,E=Ee,ge=n,A=ae,N=l,L=we,V=ke,U=t,Be=te,Ve=b,Ge=re,qe=r;return T(),M(`div`,tn,[K(ce)?G(``,!0):(T(),M(`h1`,nn,w(i.$t(`views.training.title`)),1)),F(ne,{position:`left`},{default:C(()=>[F(s,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:a[0]||=e=>i.$router.push(`/menu`)},{icon:C(()=>[F(o,{class:`w-6 h-6`})]),_:1})]),_:1}),F(ne,{position:`center`},{default:C(()=>[j(`span`,rn,w(i.$t(`views.training.title`)),1)]),_:1}),j(`div`,an,[F(se,{class:`flex-1`},{default:C(()=>[F(p,{class:`flex-1`},{default:C(()=>[F(d,null,{default:C(()=>[F(ie,{class:`w-4 h-4`})]),_:1}),F(f,{modelValue:K(z),"onUpdate:modelValue":a[1]||=e=>ve(z)?z.value=e:null,placeholder:K(c)(`views.training.search`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),_:1}),F(h,null,{default:C(()=>[F(s,{severity:`secondary`,text:``,class:`text-color`,onClick:a[2]||=e=>K(W)?.toggleMenu(e)},{icon:C(()=>[F(m,{class:_e([`w-4 h-4 transform transition-transform duration-300`,{"rotate-180":K(W)?.isOpen}])},null,8,[`class`])]),_:1})]),_:1})]),_:1}),P((T(),R(s,{severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:st},{icon:C(()=>[F(y,{class:`w-4.5 h-4.5`})]),_:1})),[[qe,{value:i.$t(`views.training.submissions`)},void 0,{left:!0}]]),P((T(),R(s,{severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:a[3]||=e=>K(ye)?.toggleMenu(e)},{icon:C(()=>[F(ue,{class:`w-4.5 h-4.5`})]),_:1})),[[qe,{value:i.$t(`views.training.collection`)},void 0,{left:!0}]])]),K(Z)?(T(),M(`div`,on,[K(Z).active?(T(),M(H,{key:0},[F(de,{class:`w-4 h-4 text-primary shrink-0`}),j(`div`,sn,[j(`div`,cn,w(i.$t(`views.training.upload_progress`,{done:K(Z).done+K(Z).failed,total:K(Z).total})),1),F(x,{value:K(Z).total?Math.round((K(Z).done+K(Z).failed)/K(Z).total*100):0,"show-value":!1,style:{height:`6px`},class:`mt-1.5`},null,8,[`value`])])],64)):(T(),M(H,{key:1},[K(Z).failed?(T(),R(pe,{key:0,class:`w-5 h-5 text-red-500 shrink-0`})):(T(),R(me,{key:1,class:`w-5 h-5 text-green-500 shrink-0`})),j(`span`,ln,[I(w(i.$t(`views.training.submit_done`,K(Z).done)),1),K(Z).failed?(T(),M(H,{key:0},[I(` · `+w(i.$t(`views.training.upload_failed_summary`,{count:K(Z).failed})),1)],64)):G(``,!0)]),F(s,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-sm shrink-0`,onClick:a[4]||=e=>K(he).dismissProgress()},{icon:C(()=>[F(E,{class:`w-4 h-4`})]),_:1})],64))])):G(``,!0),K(v).isLoading.value&&!K(v).data.value?(T(),M(`div`,{key:2,class:`grid w-full gap-3 p-px`,style:k(K(Fe))},[(T(),M(H,null,O(8,e=>j(`div`,{key:e,class:`cui-card overflow-hidden`},[F(ge,{class:`aspect-video`,width:`100%`,height:`100%`}),j(`div`,un,[F(ge,{height:`14px`,width:`70%`,class:`mb-1`}),F(ge,{height:`12px`,width:`40%`})])])),64))],4)):K(J).length===0?(T(),M(`div`,dn,[F(A,{class:`w-12 h-12 text-muted`}),j(`span`,fn,w(i.$t(`views.training.no_candidates`)),1)])):(T(),M(H,{key:4},[j(`div`,{class:`grid w-full gap-3 p-px`,style:k(K(Fe))},[(T(!0),M(H,null,O(K(Y),e=>(T(),R(Be,{key:e.id,class:`cui-card overflow-hidden transition-shadow cursor-pointer hover:shadow-md aspect-[1.17] flex flex-col`,pt:{header:{class:`flex-1 min-h-0 flex`},body:{class:`shrink-0`,style:`height: auto`}},onClick:t=>at(e)},{header:C(()=>[j(`div`,pn,[F(N,{class:`absolute inset-0`,src:et(e.id),alt:$e(e.cameraId),"image-container-class":`w-full h-full`,"image-style":{objectFit:`cover`}},null,8,[`src`,`alt`]),j(`div`,mn,[(T(!0),M(H,null,O(nt(e),(e,t)=>(T(),M(`span`,{key:t,class:`px-1.5 py-0.5 rounded text-xs font-medium text-white`,style:k({backgroundColor:K(oe)(String(t)).color})},w(tt(String(t)))+` ×`+w(e),5))),128))]),e.upload?(T(),M(`div`,hn,[e.upload===`failed`?P((T(),R(L,{key:0,severity:`danger`,value:i.$t(`views.training.upload_failed`)},null,8,[`value`])),[[qe,e.uploadError,void 0,{top:!0}]]):e.upload===`uploading`?(T(),R(L,{key:1,severity:`info`,value:i.$t(`views.training.upload_uploading`)},null,8,[`value`])):(T(),R(L,{key:2,severity:`secondary`,value:i.$t(`views.training.upload_queued`)},null,8,[`value`]))])):G(``,!0),!K(Q)&&!He(e)?(T(),M(`div`,gn,[P((T(),R(s,{severity:`secondary`,rounded:``,size:`small`,class:`cui-icon-sm text-white`,onClick:B(t=>ut(e),[`stop`])},{icon:C(()=>[F(V,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[qe,i.$t(`views.training.delete_candidate`),void 0,{top:!0}]])])):G(``,!0)])]),content:C(()=>[j(`div`,_n,[j(`div`,vn,[K(Q)&&!He(e)?(T(),R(U,{key:0,"model-value":K(Ue).has(e.id),binary:``,size:`small`,onClick:a[5]||=B(()=>{},[`stop`]),"onUpdate:modelValue":t=>K(Ze)(e.id)},null,8,[`model-value`,`onUpdate:modelValue`])):G(``,!0),j(`div`,yn,[j(`div`,bn,w($e(e.cameraId)),1),j(`div`,xn,w(K(fe)(e.createdAt)),1)])]),F(L,{severity:rt(e.status),value:i.$t(`views.training.status_${e.status}`)},null,8,[`severity`,`value`])])]),_:2},1032,[`onClick`]))),128))],4),K(X)?(T(),M(`div`,{key:0,ref_key:`loadMoreRef`,ref:Oe,class:`h-px`},null,512)):G(``,!0)],64)),K(J).length||K(Q)?(T(),R(Ge,{key:5,"force-visible":K(Q)},{default:C(()=>[K(Q)?(T(),M(H,{key:1},[F(Ve,{grouped:``,"tooltip-props":{value:i.$t(`components.form.tooltip.cancel_selection`)},"button-props":{severity:`secondary`},icon:K(Ee),"icon-props":{width:`100%`,height:`100%`},onClick:K(Ye)},null,8,[`tooltip-props`,`icon`,`onClick`]),F(Ve,{grouped:``,"tooltip-props":{value:K(We)?i.$t(`views.training.deselect_all`):i.$t(`views.training.select_all`)},"button-props":{severity:K(We)?`primary`:`secondary`},icon:K(u),"icon-props":{width:`100%`,height:`100%`},onClick:K(Xe)},null,8,[`tooltip-props`,`button-props`,`icon`,`onClick`]),F(Ve,{grouped:``,"tooltip-props":{value:i.$t(`views.training.submit_selected`)},"button-props":{disabled:!K(Qe).length||K(D).isPending.value},icon:K(ze),"icon-props":{width:`100%`,height:`100%`},onClick:ct},null,8,[`tooltip-props`,`button-props`,`icon`]),F(Ve,{grouped:``,"tooltip-props":{value:i.$t(`views.training.delete_selected`)},"button-props":{severity:`danger`,disabled:!K(Ue).size||K(Ke)},icon:K(S),"icon-props":{width:`100%`,height:`100%`},onClick:lt},null,8,[`tooltip-props`,`button-props`,`icon`])],64)):(T(),R(Ve,{key:0,grouped:``,"tooltip-props":{value:i.$t(`views.training.select`)},"button-props":{severity:`secondary`},icon:K(g),"icon-props":{width:`100%`,height:`100%`},onClick:K(Je)},null,8,[`tooltip-props`,`icon`,`onClick`]))]),_:1},8,[`force-visible`])):G(``,!0),F(le,{ref_key:`cameraMenuRef`,ref:W,items:K(Ie),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`]),F(le,{ref_key:`settingsMenuRef`,ref:ye,items:K(Re),"auto-hide":!1,popover:{pt:{root:{class:`w-[22rem]`},content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}});export{Cn as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CuiMarkdownContent-BFa5gUZe.js","./CuiMarkdownContent-CyJxfnFA.js","./vendor-CP-WYrgy.js","./rolldown-runtime-C0FnF6B9.js","./vendor-markdown-BcxN-Nmd.js","./vendor-markdown-DtOhvyRx.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{Bt as e,It as t,Kt as n,Vr as r,q as i}from"./vendor-cameraui-
|
|
2
|
+
import{Bt as e,It as t,Kt as n,Vr as r,q as i}from"./vendor-cameraui-CqKq4Yeo.js";import{Mn as a,U as o,ot as s,st as c}from"./api-Cl7JjXOQ.js";import{$n as l,Cr as u,Ht as d,In as f,Pn as p,Rn as m,br as h,cn as g,dn as _,dr as v,er as y,gn as b,hn as x,ln as S,rn as C,sn as w,sr as T,un as E,vn as D,yr as O}from"./vendor-CP-WYrgy.js";import{p as k}from"./vendor-core-BTkC8NzR.js";import{z as A}from"./vendor-primevue-DQz5Qnqu.js";import{o as j}from"./server-BTKgKMye.js";import{t as ee}from"./check-circle-CXfnFKFA.js";import{t as M}from"./alert-circle-CWUV5Xzc.js";import{t as te}from"./refresh-zUwVhGRH.js";import{t as N}from"./check-circle-outline-BXLVwqwM.js";import{c as P}from"./plugins-DwmkpOPJ.js";import{t as ne}from"./information-outline-Bo2TPoHa.js";import{t as re}from"./back-filled-xrzKyz1B.js";import{t as F}from"./updates-BQ6Ugcup.js";var I={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function L(e,t){return f(),_(`svg`,I,[...t[0]||=[g(`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 R=T({name:`mdi-text-box-outline`,render:L}),z={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function B(e,t){return f(),_(`svg`,z,[...t[0]||=[g(`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=T({name:`mdi-arrow-up-circle`,render:B}),V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return f(),_(`svg`,V,[...t[0]||=[g(`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=T({name:`mdi-arrow-up-circle-outline`,render:H}),U={class:`flex flex-col`},W={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},G={key:0,class:`flex items-center justify-center py-10`},K={key:2,class:`text-sm text-muted`},q=D({__name:`UpdateChangelog`,props:{kind:{},name:{},version:{}},setup(e){let n=c(()=>d(()=>import(`./CuiMarkdownContent-BFa5gUZe.js`),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)),r=e,i=v(``),a=v(!0);return p(async()=>{let e=new AbortController;try{r.kind===`plugin`?i.value=await P({pluginName:r.name,query:r.version?{pluginversion:r.version}:void 0,signal:e.signal}):i.value=await j({version:r.version??`latest`,signal:e.signal})}catch{i.value=``}finally{a.value=!1}}),(e,r)=>{let o=t;return f(),_(`div`,U,[g(`h3`,W,u(e.$t(`components.form.label.changelog`)),1),O(a)?(f(),_(`div`,G,[b(o,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):O(i)?(f(),S(O(n),{key:1,content:O(i)},null,8,[`content`])):(f(),_(`span`,K,u(e.$t(`views.updates.no_changelog`)),1))])}}}),J={key:0,class:`flex items-center justify-between`},oe={class:`page-title`},se={key:1,class:`w-full flex items-center justify-center py-16`},ce={key:2,class:`flex flex-col gap-6`},le={key:0,class:`flex items-center gap-4`},ue={class:`flex flex-col field-switch-gap min-w-0 flex-1`},de={class:`text-sm font-bold text-color`},fe={key:1,class:`flex items-center gap-4`},pe={class:`flex flex-col field-switch-gap min-w-0 flex-1`},Y={class:`text-sm font-bold text-color`},me={key:2,class:`flex flex-wrap items-center gap-4`},he={class:`flex flex-col field-switch-gap min-w-0 flex-1`},ge={class:`text-sm font-bold text-color`},_e={class:`card-title`},ve={class:`flex flex-col`},ye={class:`flex flex-col field-switch-gap min-w-0 flex-1`},be={class:`text-sm font-bold text-color truncate`},xe={key:0,class:`text-xs text-muted truncate`},X=D({__name:`Updates`,setup(c){let{t:d}=r(),v=s(),{smBreakpoint:T}=a(),D=F(),{status:j,runActive:P,cancelRequested:I,isChecking:L,checkedAt:z,runTotal:B,runDone:V,pendingCount:H,updatingItem:U,restartingItem:W,serverBusy:G,busy:K,allUpToDate:X,serverPending:Z}=k(D),Se=w(()=>[{kind:`server`,title:d(`views.updates.section_server`)},{kind:`plugin`,title:d(`views.updates.section_plugins`)},{kind:`worker`,title:d(`views.updates.section_workers`)}].map(e=>({...e,items:D.itemsOf(e.kind)})).filter(e=>e.items.length>0)),Q=w(()=>new Date(z.value).toLocaleTimeString());function Ce(e){return e.blockedReason===`legacy`?d(`views.updates.blocked_legacy`):d(`views.updates.blocked_desktop`)}function we(e){v.openComponentDialog(q,{data:{title:e.name,confirmText:d(`components.form.button.update`),contentProps:{kind:e.kind,name:e.packageName??e.name,version:e.latestVersion}},onConfirm:()=>D.updateItem(e.id)})}return p(()=>{D.connect()}),(r,a)=>{let s=te,c=e,d=re,p=o,v=t,w=A,k=N,F=ae,z=i,q=ee,Te=M,Ee=ne,De=ie,Oe=R,$=n;return f(),_(`div`,null,[O(T)?E(``,!0):(f(),_(`div`,J,[g(`h1`,oe,u(r.$t(`views.updates.title`)),1),y((f(),S(c,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-lg relative z-2`,loading:O(L),disabled:O(K),onClick:a[0]||=e=>O(D).refresh()},{icon:l(()=>[b(s,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`disabled`])),[[$,{value:r.$t(`views.updates.check_now`)},void 0,{bottom:!0}]])])),b(p,{position:`left`},{default:l(()=>[b(c,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:a[1]||=e=>r.$router.push(`/menu`)},{icon:l(()=>[b(d,{class:`w-6 h-6`})]),_:1})]),_:1}),b(p,{position:`right`},{default:l(()=>[b(c,{severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,loading:O(L),disabled:O(K),onClick:a[2]||=e=>O(D).refresh()},{icon:l(()=>[b(s,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`disabled`])]),_:1}),O(j)?(f(),_(`div`,ce,[b(z,{class:`cui-card`},{content:l(()=>[O(P)?(f(),_(`div`,le,[b(v,{class:`w-[26px] h-[26px] m-0 shrink-0`,"stroke-width":`5`}),g(`div`,ue,[g(`span`,de,u(O(U)?r.$t(`views.updates.run_updating`,{name:O(U).name}):O(W)?r.$t(`connection.restarting`):r.$t(`views.updates.run_preparing`)),1),b(w,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[x(u(r.$t(`views.updates.run_progress`,{done:O(V),total:O(B)}))+` `,1),O(Z)?(f(),_(C,{key:0},[x(` · `+u(r.$t(`views.updates.run_server_last`)),1)],64)):E(``,!0)]),_:1})]),b(c,{severity:`secondary`,class:`cui-button-medium shrink-0`,disabled:O(I),label:O(I)?r.$t(`views.updates.cancelling`):r.$t(`components.form.button.cancel`),onClick:a[3]||=e=>O(D).cancelRun()},null,8,[`disabled`,`label`])])):O(X)?(f(),_(`div`,fe,[b(k,{class:`w-7 h-7 shrink-0 text-success`}),g(`div`,pe,[g(`span`,Y,u(r.$t(`views.updates.all_up_to_date`)),1),b(w,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[x(u(r.$t(`views.updates.checked_at`,{time:O(Q)})),1)]),_:1})])])):(f(),_(`div`,me,[b(F,{class:`w-7 h-7 shrink-0 text-primary`}),g(`div`,he,[g(`span`,ge,u(r.$t(`views.updates.pending_count`,{count:O(H)})),1),b(w,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[x(u(O(Z)?r.$t(`views.updates.summary_server_hint`):r.$t(`views.updates.checked_at`,{time:O(Q)})),1)]),_:1})]),b(c,{class:`cui-button-medium shrink-0 ml-auto`,disabled:O(K),label:r.$t(`views.updates.update_all`),onClick:a[4]||=e=>O(D).updateAll()},null,8,[`disabled`,`label`])]))]),_:1}),(f(!0),_(C,null,m(O(Se),e=>(f(),_(`div`,{key:e.kind},[g(`span`,_e,u(e.title),1),b(z,{class:`cui-card`},{content:l(()=>[g(`div`,ve,[(f(!0),_(C,null,m(e.items,(e,t)=>(f(),_(`div`,{key:e.id,class:h([`flex items-center gap-4 py-3`,{"border-t border-surface":t>0}])},[e.status===`updating`||e.status===`restarting`?(f(),S(v,{key:0,class:`w-[22px] h-[22px] m-0 shrink-0`,"stroke-width":`5`})):e.status===`success`||e.status===`uptodate`?(f(),S(q,{key:1,class:`w-[22px] h-[22px] shrink-0 text-success`})):e.status===`error`?(f(),S(Te,{key:2,class:`w-[22px] h-[22px] shrink-0 text-red-500`})):e.status===`blocked`?(f(),S(Ee,{key:3,class:`w-[22px] h-[22px] shrink-0 text-muted`})):(f(),S(De,{key:4,class:`w-[22px] h-[22px] shrink-0 text-primary`})),g(`div`,ye,[g(`span`,be,u(e.name),1),e.packageName?(f(),_(`span`,xe,u(e.packageName),1)):E(``,!0),b(w,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint truncate`},{default:l(()=>[e.status===`error`?(f(),_(C,{key:0},[x(u(e.error),1)],64)):e.status===`restarting`?(f(),_(C,{key:1},[x(u(r.$t(`connection.restarting`)),1)],64)):e.status===`blocked`?(f(),_(C,{key:2},[x(u(Ce(e)),1)],64)):e.status===`uptodate`?(f(),_(C,{key:3},[x(`v`+u(e.installedVersion)+` · `+u(r.$t(`views.updates.up_to_date`)),1)],64)):e.status===`success`?(f(),_(C,{key:4},[x(u(r.$t(`views.updates.updated_to`,{version:e.latestVersion})),1)],64)):(f(),_(C,{key:5},[x(`v`+u(e.installedVersion)+` → v`+u(e.latestVersion),1)],64))]),_:2},1024)]),e.status===`pending`||e.status===`error`?(f(),_(C,{key:5},[y((f(),S(c,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md shrink-0`,onClick:t=>we(e)},{icon:l(()=>[b(Oe,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:r.$t(`components.form.label.changelog`)},void 0,{top:!0}]]),b(c,{severity:`secondary`,outlined:``,class:`cui-button-medium shrink-0`,disabled:e.kind===`server`?O(K):O(P)||O(G),label:e.status===`error`?r.$t(`views.updates.retry`):r.$t(`components.form.button.update`),onClick:t=>O(D).updateItem(e.id)},null,8,[`disabled`,`label`,`onClick`])],64)):E(``,!0)],2))),128))])]),_:2},1024)]))),128))])):(f(),_(`div`,se,[b(v,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]))])}}});export{X as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$n as e,Cr as t,In as n,cn as r,dr as i,ln as a,vn as o,yr as s}from"./vendor-CP-WYrgy.js";import{w as c}from"./vendor-primevue-
|
|
1
|
+
import{$n as e,Cr as t,In as n,cn as r,dr as i,ln as a,vn as o,yr as s}from"./vendor-CP-WYrgy.js";import{w as c}from"./vendor-primevue-DQz5Qnqu.js";import{i as l}from"./flowSchema-CdzBw69a.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=o({__name:`VariableInput`,props:{modelValue:{},nodeId:{},placeholder:{}},emits:[`update:modelValue`],setup(o,{emit:p}){let m=o,h=p,{options:g}=l(()=>m.nodeId),_=i([]),v=i(``);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(i,l)=>{let p=c;return n(),a(p,{"model-value":o.modelValue,suggestions:s(_),"option-label":`label`,placeholder:o.placeholder,class:`w-full`,fluid:``,dropdown:``,"dropdown-mode":`blank`,onComplete:y,onItemSelect:b,"onUpdate:modelValue":x},{option:e(({option:e})=>[r(`div`,u,[r(`span`,d,t(e.label),1),r(`span`,f,t(e.value),1)])]),_:1},8,[`model-value`,`suggestions`,`placeholder`])}}});export{p as t};
|
package/dist/interface/assets/{VariableSuggestions-B0Y5QsCw.js → VariableSuggestions-BhIlXJ6r.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Vr as e}from"./vendor-cameraui-
|
|
1
|
+
import{Vr as e}from"./vendor-cameraui-CqKq4Yeo.js";import{$n as t,In as n,Rn as r,cn as i,dn as a,ln as o,rn as s,un as c,vn as l,yr as u}from"./vendor-CP-WYrgy.js";import{T as d,c as f}from"./vendor-primevue-DQz5Qnqu.js";var p={class:`flex flex-wrap gap-1`},m=l({__name:`VariableSuggestions`,props:{variables:{}},emits:[`select`],setup(l){let{t:m}=e();return(e,h)=>{let g=d,_=f;return l.variables.length?(n(),o(_,{key:0,header:u(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:t(()=>[i(`div`,p,[(n(!0),a(s,null,r(l.variables,t=>(n(),o(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`])):c(``,!0)}}});export{m as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{It as e,Vr as t}from"./vendor-cameraui-
|
|
1
|
+
import{It as e,Vr as t}from"./vendor-cameraui-CqKq4Yeo.js";import{Mn as n,Tr as r}from"./api-Cl7JjXOQ.js";import{Cn as i,Cr as a,Fn as o,In as s,Jn as c,Pn as l,Rn as ee,Xn as u,Z as te,_r as ne,cn as d,dn as f,dr as p,gn as m,hn as re,or as h,rn as ie,sn as g,t as ae,un as _,vn as v,yr as y}from"./vendor-CP-WYrgy.js";import{u as oe}from"./vendor-core-BTkC8NzR.js";import{K as se,j as ce}from"./vendor-primevue-DQz5Qnqu.js";import{t as le}from"./server-BTKgKMye.js";import{n as ue}from"./useServerRestart-C-AsOdJP.js";import{t as de}from"./alert-circle-CWUV5Xzc.js";import{t as fe}from"./CuiMarkdownContent-CyJxfnFA.js";import{t as pe}from"./plugins-DwmkpOPJ.js";import{t as me}from"./CuiConsole-4rDfDj0a.js";import{t as he}from"./useLogsSocket-B4wTnSno.js";import{t as ge}from"./platformLabels-D-cF6OTP.js";import{t as _e}from"./config-EBcNBZkb.js";import{t as ve}from"./useUpdateChannel-Cc4IrrDy.js";function b(e){return`id`in e&&!(`type`in e)}function x(e){return`type`in e}var ye={key:0},be={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`},xe={class:`flex flex-col gap-1 min-w-0`},Se={class:`text-sm font-semibold text-orange-400`},Ce={key:0},we={class:`text-xs text-orange-600 dark:text-orange-300`},Te={class:`text-sm text-orange-400`},Ee={key:1},De={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},Oe={key:2},ke={class:`text-muted`},Ae={class:`flex items-center gap-4 mt-4 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30`},je={class:`flex flex-col gap-1 min-w-0`},Me={class:`text-sm font-semibold text-orange-400`},Ne={class:`text-xs text-orange-600 dark:text-orange-300`},Pe={key:3},Fe={class:`cui-label`},Ie={key:4,class:`w-full h-full relative`},Le={key:5,class:`w-full h-full p-4 flex items-center justify-center`},Re=`2.0.0`,S=v({__name:`VersionsHandler`,props:{target:{},installVersion:{},action:{}},setup(v,{expose:S}){let C=new pe,w=new le,ze=new _e,Be=te(),T=v,E=r(),{t:D}=t(),O=oe(),{mdBreakpoint:k}=n(),{beginServerRestart:Ve}=ue(),{isBeta:He}=ve(),A=i(`dialogRef`),j=i(`dialogRefProps`),{target:M,installVersion:N}=ne(T),P=p();C.toggleQueryActivator(`getPluginVersionsQuery`,!1),C.toggleQueryActivator(`getPluginChangelogQuery`,!1),C.toggleQueryActivator(`getPluginCompatQuery`,!1),w.toggleQueryActivator(`checkVersionQuery`,!1),w.toggleQueryActivator(`getServerChangelogQuery`,!1);let Ue=g(()=>b(M.value)?M.value.pluginName:`server`),F=g(()=>T.action===`uninstall`&&b(M.value)),I=he({target:Ue.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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{L as e,Vr as t}from"./vendor-cameraui-CqKq4Yeo.js";import{Tr as n}from"./api-Cl7JjXOQ.js";import{$n as r,C as i,Cr as a,Dn as o,In as s,Jn as c,S as l,Xt as u,cn as d,dr as f,gn as p,ln as m,or as h,sn as g,vn as _,x as v,yr as y}from"./vendor-CP-WYrgy.js";import{T as b,x}from"./types-BEy4uGJ0.js";import{j as S}from"./vendor-primevue-DQz5Qnqu.js";var C={for:`virtualSensorType`,class:`cui-label`},w={for:`virtualSensorName`,class:`cui-label`},T=_({__name:`VirtualSensorCreate`,props:{cameraId:{}},setup(_,{expose:T}){let E=_,{t:D}=t(),O=n(),k=x.omit({cameraId:!0}),A=c(`formRef`),j=f(b[0]),M=f(``),N=g(()=>b.map(e=>({label:D(`components.camera_options.sensor_type_${e}`),value:e})));return T({onConfirm:async()=>(await A.value?.validate())?.valid?{cameraId:E.cameraId,type:j.value,name:M.value.trim()}:(O.add({severity:`error`,detail:D(`components.toast.validation_failed`),life:3e3}),null)}),(t,n)=>{let c=S,f=e;return s(),m(y(i),{ref_key:`formRef`,ref:A,class:`flex flex-col gap-4 w-full`,"validation-schema":y(k)},{default:r(()=>[p(y(l),{"model-value":y(j),name:`type`,as:`div`,class:`flex flex-col field-gap`},{default:r(({errors:e})=>[d(`label`,C,a(t.$t(`components.form.label.type`)),1),p(c,{id:`virtualSensorType`,"model-value":y(j),options:y(N),"option-label":`label`,"option-value":`value`,invalid:e.length>0,class:`w-full`,onValueChange:n[0]||=e=>j.value=e},null,8,[`model-value`,`options`,`invalid`]),p(u,{name:`fade`},{default:r(()=>[p(y(v),{name:`type`,class:`cui-input-error`})]),_:1})]),_:1},8,[`model-value`]),p(y(l),{modelValue:y(M),"onUpdate:modelValue":n[1]||=e=>h(M)?M.value=e:null,modelModifiers:{trim:!0},name:`name`,as:`div`,class:`flex flex-col field-gap`},{default:r(({field:e,errors:n})=>[d(`label`,w,a(t.$t(`components.form.label.name`)),1),p(f,o({id:`virtualSensorName`},e,{invalid:n.length>0,class:`w-full`,placeholder:t.$t(`components.camera_options.virtual_sensor_name_placeholder`)}),null,16,[`invalid`,`placeholder`]),p(u,{name:`fade`},{default:r(()=>[p(y(v),{name:`name`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`validation-schema`])}}});export{T as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Bt as e,It as t,L as n,Vr as r,q as i}from"./vendor-cameraui-CqKq4Yeo.js";import{Mn as a,On as o,Pt as s,Tr as c,U as ee,er as l,ht as te,i as ne,mr as u,mt as d,ot as f,rr as re,z as p}from"./api-Cl7JjXOQ.js";import{$n as m,An as ie,Cr as h,Fn as g,In as _,On as v,Xn as y,cn as b,dn as x,dr as S,gn as C,hn as w,ln as T,lr as E,nr as D,or as O,rn as ae,sn as k,un as A,vn as j,yr as M}from"./vendor-CP-WYrgy.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-DQz5Qnqu.js";import{t as pe}from"./api-LjAY3aa3.js";import{t as me}from"./pencil-outline-BsdKHhHl.js";import{t as he}from"./plugins-DwmkpOPJ.js";import{t as ge}from"./CuiDataTable-BLyeEEAp.js";import{t as _e}from"./back-filled-xrzKyz1B.js";import{r as ve,t as ye}from"./CuiChartTable-BklHSjRr.js";import{n as be,t as xe}from"./updates-BQ6Ugcup.js";var N={class:`flex flex-col gap-2 w-full`},P={for:`workerName`,class:`cui-label`},Se=j({__name:`RenameWorker`,props:{currentName:{}},setup(e,{expose:t}){let r=S(e.currentName);return t({onConfirm:async()=>r.value.trim()||null}),(e,t)=>{let i=n;return _(),x(`div`,N,[b(`label`,P,h(e.$t(`views.workers.name`)),1),C(i,{id:`workerName`,modelValue:M(r),"onUpdate:modelValue":t[0]||=e=>O(r)?r.value=e:null,class:`w-full`,autofocus:``},null,8,[`modelValue`])])}}}),F=E({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=D(!0),I.run(()=>{let e=u(`/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:k(()=>L?.connected.value??!1),workers:k(()=>F.workers),workerHistory:k(()=>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=o(j({__name:`Workers`,setup(o){let{t:u}=r(),{smBreakpoint:E}=a(),D=f(),j=xe(),N=c(),P=De(),{workers:F,workerHistory:I,isConnected:L}=P,Ce=new pe,we=new s,Te=new he,R=new be,{data:Ee,isLoading:mt}=we.getCamerasQuery(S({page:1,pageSize:999})),{data:ht,isLoading:gt}=Te.getPluginsQuery(S({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=S(!1),B=S([]),V=S([]),H=S([]),U=S(new Set),W=S(new Set),G=S(null),K=S(``),q=S(7422),Mt=!1,J=new Map,Nt=k(()=>Ee.value?.result??[]),Pt=k(()=>ht.value?.result??[]),Y=k(()=>z.value?.enabled??!1),Ft=k(()=>(z.value?.suggestedAddresses??[]).map(e=>({label:e,value:e}))),X=k(()=>q.value!==(z.value?.port??7422)),It=k(()=>K.value!==(z.value?.address??``)||X.value),Lt=k(()=>new Set(F.value.map(e=>e.agentId))),Z=k(()=>j.targetServerVersion??kt.value?.version),Rt=k(()=>G.value?Math.max(0,Math.round((G.value.expiresAt-Date.now())/6e4)):0),zt=k(()=>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=k(()=>[{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?u(`views.workers.update_failed`,{error:e.update.error}):e.update?.updating?u(`views.workers.updating`):e.versionMismatch?u(`views.workers.version_mismatch`,{version:e.version||`?`}):u(`views.workers.online`):u(`views.workers.offline`)}},{type:`category`,field:`name`,name:u(`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:u(`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:u(`views.workers.platform`),asChip:!0,columnProps:{headerClass:`min-w-40`,class:`min-w-40`}},{type:`category`,field:e=>e.pid?.toString()??`—`,name:u(`views.workers.pid`),columnProps:{headerClass:`min-w-20`,class:`min-w-20`}},{type:`category`,field:e=>e.cpuLoad===void 0?`—`:`${e.cpuLoad}%`,name:u(`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:u(`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:me,buttonProps:{severity:`secondary`},tooltip:()=>u(`views.workers.rename_worker`),action:e=>Ht(e)},{icon:l,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:()=>u(`views.workers.restart_worker`),action:e=>Gt(e.name,e.agentId)},{icon:p,buttonProps:{severity:`danger`},loading:e=>V.value.includes(e.agentId),tooltip:()=>u(`views.workers.remove_worker`),action:e=>rn(e)}]}]),Vt=k(()=>{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){D.openComponentDialog(Se,{data:{title:u(`views.workers.rename_worker`),confirmText:u(`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?u(`views.workers.updating`):Z.value?u(`views.workers.update_worker`,{version:Z.value}):u(`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} (${u(`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?``:` (${u(`views.workers.offline`).toLowerCase()})`,a=r?``:` — ${u(`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)){D.openTextDialog({data:{title:u(`views.workers.enable_workers`),contentText:u(`views.workers.address_required`),confirmText:u(`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){D.openTextDialog({data:{title:u(`views.workers.remove_worker`),confirmText:u(`views.workers.remove`),contentText:u(`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 ie(async()=>{P.connect(),j.connect(),await v(),P.loadAll(),jt.value=!0}),y(z,e=>{e&&(K.value=e.address,q.value=e.port)},{immediate:!0}),y(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:u(`views.workers.update_failed`,{error:e}),life:6e3}))}}),g(()=>{P.disconnect()}),(r,a)=>{let o=_e,s=e,c=ee,l=t,u=fe,f=oe,p=de,ie=ue,g=i,v=ye,y=re,S=le,D=ge,k=n,j=te,pe=se,me=ce;return _(),x(`div`,null,[M(E)?A(``,!0):(_(),x(`h1`,Oe,h(r.$t(`views.workers.title`)),1)),C(c,{position:`left`},{default:m(()=>[C(s,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:a[0]||=e=>r.$router.push(`/menu`)},{icon:m(()=>[C(o,{class:`w-6 h-6`})]),_:1})]),_:1}),!M(jt)||!M(L)?(_(),x(`div`,ke,[C(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(_(),x(`div`,Ae,[b(`div`,null,[b(`span`,je,h(r.$t(`views.workers.configuration`)),1),C(g,{class:`cui-card`},{content:m(()=>[b(`div`,Me,[b(`div`,Ne,[b(`div`,Pe,[b(`label`,Fe,h(r.$t(`views.workers.enable_workers`)),1),C(u,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:m(()=>[w(h(r.$t(`views.workers.enable_workers_description`)),1)]),_:1})]),C(f,{"model-value":M(Y),disabled:M(vt),class:`ml-auto shrink-0`,"onUpdate:modelValue":tn},null,8,[`model-value`,`disabled`])]),M(Y)?(_(),x(ae,{key:0},[b(`div`,Ie,[b(`label`,Le,h(r.$t(`views.workers.master_address`)),1),C(p,{modelValue:M(K),"onUpdate:modelValue":a[1]||=e=>O(K)?K.value=e:null,"input-id":`master-address`,options:M(Ft),editable:``,"option-label":`label`,"option-value":`value`,placeholder:r.$t(`views.workers.master_address_placeholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`]),C(u,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[w(h(r.$t(`views.workers.master_address_hint`)),1)]),_:1})]),b(`div`,Re,[b(`label`,ze,h(r.$t(`views.workers.leaf_port`)),1),C(ie,{modelValue:M(q),"onUpdate:modelValue":a[2]||=e=>O(q)?q.value=e:null,"input-id":`leaf-port`,min:1024,max:65535,"use-grouping":!1,class:`w-full`},null,8,[`modelValue`]),M(X)&&(M(z)?.pairedWorkers??0)>0?(_(),T(u,{key:0,severity:`warn`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[w(h(r.$t(`views.workers.port_change_warning`)),1)]),_:1})):A(``,!0)]),b(`div`,Be,[C(s,{class:`cui-button-medium`,label:r.$t(`views.workers.save`),loading:M(vt),disabled:!M(It),onClick:nn},null,8,[`label`,`loading`,`disabled`])])],64)):A(``,!0)])]),_:1})]),M(Y)?(_(),x(`div`,Ve,[b(`span`,He,h(r.$t(`views.workers.workers`)),1),M(F).length?(_(),T(v,{key:0,items:M(F),headers:M(Bt),"chart-data":M(Vt)},null,8,[`items`,`headers`,`chart-data`])):(_(),T(g,{key:1,class:`cui-card`,pt:{root:{class:`h-full`}}},{content:m(()=>[b(`div`,Ue,[C(y,{class:`w-12 h-12 text-muted`}),b(`span`,We,h(r.$t(`views.workers.no_workers`)),1)])]),_:1}))])):A(``,!0),M(Y)&&M(F).length?(_(),x(`div`,Ge,[b(`span`,Ke,h(r.$t(`views.workers.camera_assignments`)),1),C(g,{class:`cui-card`},{content:m(()=>[b(`span`,qe,h(r.$t(`views.workers.camera_assignments_description`)),1),C(D,{value:M(Nt),loading:M(mt),pt:At,"striped-rows":``,class:`w-full`},{loading:m(()=>[C(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:m(()=>[b(`span`,Je,h(r.$t(`views.workers.no_cameras`)),1)]),default:m(()=>[C(S,{field:`name`,header:r.$t(`views.workers.camera`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:m(({data:e})=>[b(`span`,Ye,h(e.name),1)]),_:1},8,[`header`]),C(S,{header:r.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:m(({data:e})=>[C(p,{"model-value":Q(e.workerAgentId),options:Kt(),"option-label":`label`,"option-value":`value`,placeholder:r.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:$(e._id),disabled:$(e._id),"onUpdate:modelValue":t=>$t(e,t)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})])):A(``,!0),M(Y)&&M(F).length?(_(),x(`div`,Xe,[b(`span`,Ze,h(r.$t(`views.workers.plugin_assignments`)),1),C(g,{class:`cui-card`},{content:m(()=>[b(`span`,Qe,h(r.$t(`views.workers.plugin_assignments_description`)),1),C(D,{value:M(Pt),loading:M(gt),pt:At,"striped-rows":``,class:`w-full`},{loading:m(()=>[C(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:m(()=>[b(`span`,$e,h(r.$t(`views.workers.no_plugins`)),1)]),default:m(()=>[C(S,{field:`displayName`,header:r.$t(`views.workers.plugin`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:m(({data:e})=>[b(`div`,et,[b(`span`,tt,h(e.displayName),1),Yt(e)?(_(),x(`span`,nt,h(Yt(e)),1)):A(``,!0)])]),_:1},8,[`header`]),C(S,{header:r.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:m(({data:e})=>[C(p,{"model-value":Q(e.workerAgentId),options:Xt(e),"option-label":`label`,"option-value":`value`,"option-disabled":`disabled`,placeholder:r.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:Zt(e.pluginName),disabled:Zt(e.pluginName),"onUpdate:modelValue":t=>Qt(e,t)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})])):A(``,!0),M(Y)?(_(),x(`div`,rt,[b(`span`,it,h(r.$t(`views.workers.pair_worker`)),1),C(g,{class:`cui-card`},{content:m(()=>[b(`div`,at,[b(`span`,ot,h(r.$t(`views.workers.pair_worker_description`)),1),M(G)?(_(),x(ae,{key:0},[b(`div`,st,[b(`label`,ct,h(r.$t(`views.workers.pairing_code`)),1),C(me,null,{default:m(()=>[C(k,{"model-value":M(G).code,readonly:``,type:`text`},null,8,[`model-value`]),C(pe,null,{default:m(()=>[C(j,{"action-text":r.$t(`views.workers.copied`),icon:M(d),"button-props":{severity:`secondary`,text:!0},onAction:a[3]||=e=>M(ne)(M(G).code)},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),C(u,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[w(h(r.$t(`views.workers.pairing_expires`,{minutes:M(Rt)})),1)]),_:1})]),b(`div`,lt,[b(`div`,ut,[b(`label`,dt,h(r.$t(`views.workers.pairing_snippet`)),1),C(j,{"action-text":r.$t(`views.workers.copied`),icon:M(d),"button-props":{severity:`secondary`,text:!0},onAction:a[4]||=e=>M(ne)(M(zt))},null,8,[`action-text`,`icon`])]),b(`pre`,ft,h(M(zt)),1),C(u,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:m(()=>[w(h(r.$t(`views.workers.pairing_snippet_hint`)),1)]),_:1})])],64)):A(``,!0),b(`div`,pt,[C(s,{class:`cui-button-medium`,label:r.$t(`views.workers.generate_code`),loading:M(wt),onClick:en},null,8,[`label`,`loading`])])])]),_:1})])):A(``,!0)]))])}}}),[[`__scopeId`,`data-v-11df8752`]]);export{mt as default};
|