@camera.ui/server 2.2.8 → 2.3.0
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/LICENSE.md +8 -1
- package/dist/interface/assets/{404-BYV0u5qE.js → 404-C0X5UBF4.js} +1 -1
- package/dist/interface/assets/About-Ctp_u5qK.js +1 -0
- package/dist/interface/assets/Assistant-Bj2bAUHD.css +1 -0
- package/dist/interface/assets/Assistant-CDrBV_mg.js +1 -0
- package/dist/interface/assets/Automation-Dp6V80Iz.js +3 -0
- package/dist/interface/assets/{Automation-BSicfOGF.css → Automation-R5o9sXYY.css} +1 -1
- package/dist/interface/assets/{AutomationImport-Iu-K82Os.js → AutomationImport-DKgg7atE.js} +2 -2
- package/dist/interface/assets/AutomationStore-CU-m5VC8.js +2 -0
- package/dist/interface/assets/{AutomationStoreDetail-BbvLRJ5u.js → AutomationStoreDetail-CiyIs8Iu.js} +2 -2
- package/dist/interface/assets/Automations-Dljh-sWu.js +2 -0
- package/dist/interface/assets/Camera-0p0P_mbp.css +1 -0
- package/dist/interface/assets/Camera-Bvovab-8.js +2 -0
- package/dist/interface/assets/{CameraConsole-JBD3ZmJ6.js → CameraConsole-D_Fv-MAi.js} +1 -1
- package/dist/interface/assets/{Cameras-R5mJGMK9.js → Cameras-Cq7Gw-fk.js} +2 -2
- package/dist/interface/assets/{Camview-DH6_8CxH.css → Camview-Bs2VvmUS.css} +1 -1
- package/dist/interface/assets/Camview-CP6PA20C.js +1 -0
- package/dist/interface/assets/{CertificateUpload-B9S4EOQs.js → CertificateUpload-DjzNMFc3.js} +1 -1
- package/dist/interface/assets/{Config-CbFl5Wcp.js → Config-Dl2TlyFe.js} +1 -1
- package/dist/interface/assets/{ConfigActionAssistant-DIOh6-np.js → ConfigActionAssistant-DCkJ_Iqq.js} +1 -1
- package/dist/interface/assets/ConfigActionCameraControl-2pzl59gR.js +1 -0
- package/dist/interface/assets/{ConfigActionDelay-B9i4YZjy.js → ConfigActionDelay-BAp1dr0N.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-DFtxAa3U.js → ConfigActionHttp-_kqgEuun.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-CuTH4Nw2.js → ConfigActionImageInput-BgtACnCm.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-B9SfWP-G.js → ConfigActionMqtt-z7UzccW5.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-BGMIByJT.js → ConfigActionNotification-bhbb5AqU.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-Cz72szMd.js → ConfigActionNotificationControl-BbvX8MFu.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-BG6DoIRe.js → ConfigActionOutput-DdgSg3FU.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-B5oRSE9n.js → ConfigActionPlugin-DGjZd1L0.js} +1 -1
- package/dist/interface/assets/ConfigActionSensor-DmImWFAo.js +1 -0
- package/dist/interface/assets/{ConfigActionSnapshot-Di-uxMrg.js → ConfigActionSnapshot-hVHSfdtS.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-BBpUti5A.js → ConfigActionVariable-BIpruwsx.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-DjOKPXQw.js → ConfigConditionIfElse-DRSpsoR4.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-BzvvZvD0.js → ConfigConditionSensorState-C2SNARH7.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-DQvdfUxR.js → ConfigConditionSwitch-4SbQcU7N.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-BqOElX5C.js → ConfigConditionTime-ESX3shbg.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-BT-0LhSH.js → ConfigSensorValueInput-CTUdAA-R.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-1OkudUah.js → ConfigTriggerDetection-BRr6ixxQ.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-HGatk3C5.js → ConfigTriggerGeofence-D-xRMGrT.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerManual-DpRr_vVq.js → ConfigTriggerManual-aXD6k1qa.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-C_MId3BY.js → ConfigTriggerMqtt-pjHW4yOL.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-BmwDqd6N.js → ConfigTriggerSchedule-CYOt57qg.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-Rgx8q4g8.js → ConfigTriggerSensor-BwJ_cAqd.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-4VsHPmbn.js → ConfigTriggerSystem-DBXIrjzU.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-Bs7zEfY0.js → ConfigTriggerWebhook-CccBmMCb.js} +1 -1
- package/dist/interface/assets/Console-DWAaz1C6.js +1 -0
- package/dist/interface/assets/CuiAssistantConversation-B3xEiNNt.js +5 -0
- package/dist/interface/assets/{CuiAssistantConversation-BmBhwrNh.css → CuiAssistantConversation-C5ca1lgX.css} +1 -1
- package/dist/interface/assets/CuiAutomationRunsDialog-CfylVPLI.js +1 -0
- package/dist/interface/assets/CuiBottomSheet-ACN23VLS.js +1 -0
- package/dist/interface/assets/{CuiBottomSheet-Dd3uOtnC.js → CuiBottomSheet-DEVNeDqa.js} +1 -1
- package/dist/interface/assets/CuiCameraPipCard-rR_FW9zq.js +1 -0
- package/dist/interface/assets/CuiCameraRecordings-CnorhPhf.js +1 -0
- package/dist/interface/assets/CuiCameraShares-BxUgedC_.js +1 -0
- package/dist/interface/assets/{CuiCameraTable-C7WLZ2pA.js → CuiCameraTable-C3GB4Q2y.js} +2 -2
- package/dist/interface/assets/CuiCameraTable-MHfnZSyK.js +1 -0
- package/dist/interface/assets/CuiChartTable-TAzZgetO.js +1 -0
- package/dist/interface/assets/{CuiConsole-CkZML0iY.js → CuiConsole-Cf5lOCE1.js} +2 -2
- package/dist/interface/assets/{CuiDataTable-BFIhx1D3.js → CuiDataTable-DfjXa0C1.js} +1 -1
- package/dist/interface/assets/CuiLightControl-ChK-SvJp.js +1 -0
- package/dist/interface/assets/CuiList-C4fxd9lD.js +1 -0
- package/dist/interface/assets/CuiPluginCard-DMpANIQj.js +2 -0
- package/dist/interface/assets/CuiPluginCategoryChip-BKxJMid7.js +1 -0
- package/dist/interface/assets/{CuiPluginOAuthButton-BQZkTcgo.js → CuiPluginOAuthButton-DnQ838JJ.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-DbqdfdaL.js → CuiPluginTrustBadge-DyYDUWV6.js} +1 -1
- package/dist/interface/assets/{CuiQRCode-2WsWJQFi.js → CuiQRCode-S9fPi0_l.js} +1 -1
- package/dist/interface/assets/CuiSchema-DScmDQsh.js +1 -0
- package/dist/interface/assets/CuiTopNavbarItem-CT10aAlO.js +1 -0
- package/dist/interface/assets/Faces-Coy-tUVM.js +1 -0
- package/dist/interface/assets/FirstSteps-CrMJC049.js +1 -0
- package/dist/interface/assets/Floorplan-Bj_mVrxp.js +1 -0
- package/dist/interface/assets/{Floorplan-Ci63Zd8W.css → Floorplan-CT5TrMSD.css} +1 -1
- package/dist/interface/assets/Instances-B_mpKAng.js +1 -0
- package/dist/interface/assets/{Logs-DMehPk0t.js → Logs-fY1dpQk4.js} +2 -2
- package/dist/interface/assets/Menu-Bgi-NLdg.js +1 -0
- package/dist/interface/assets/Metrics-DnMeIrkf.css +1 -0
- package/dist/interface/assets/Metrics-k9KACiwh.js +12 -0
- package/dist/interface/assets/OAuthDeviceFlow-xTh83xmc.js +1 -0
- package/dist/interface/assets/Plugin-BB7x7UHw.css +1 -0
- package/dist/interface/assets/Plugin-VWq7sONB.js +1 -0
- package/dist/interface/assets/{PluginConsole-D1BRQCO9.js → PluginConsole-LnnDOVBL.js} +2 -2
- package/dist/interface/assets/PluginDetail-CKD9sbDx.js +2 -0
- package/dist/interface/assets/{PluginSchema-B9VsBHOU.js → PluginSchema-BnB0_6Sk.js} +1 -1
- package/dist/interface/assets/PluginSearch-BoBZLLbr.js +1 -0
- package/dist/interface/assets/PluginSearch-kGhweU1J.js +2 -0
- package/dist/interface/assets/{PluginUpdateProgress-uj0XPV-_.js → PluginUpdateProgress-DMx0QlgE.js} +1 -1
- package/dist/interface/assets/{Plugins-CPx9Hszm.js → Plugins-Ekmr6aVa.js} +1 -1
- package/dist/interface/assets/RecentEventsFilter-StLJNuks.js +1 -0
- package/dist/interface/assets/Recordings-8PqxJOI3.css +1 -0
- package/dist/interface/assets/Recordings-Bvkuk_TV.js +1 -0
- package/dist/interface/assets/SensorEdit-CAf9Nb01.js +1 -0
- package/dist/interface/assets/SensorHistory-il8bDErX.js +1 -0
- package/dist/interface/assets/Sensors-sxQ6HLKo.js +2 -0
- package/dist/interface/assets/Settings-Bu0G7Ebx.js +1 -0
- package/dist/interface/assets/{Settings-D7495zbV.css → Settings-DtCSaLPb.css} +1 -1
- package/dist/interface/assets/SettingsAccount-8OZJLQi-.js +1 -0
- package/dist/interface/assets/SettingsAccount-bSfFi9YH.js +1 -0
- package/dist/interface/assets/SettingsAppearance-CnvN_Tzr.js +1 -0
- package/dist/interface/assets/SettingsAppearance-EvPWgF4c.js +1 -0
- package/dist/interface/assets/SettingsAssistant-B6s6pHCx.js +1 -0
- package/dist/interface/assets/SettingsBackup-Dd2FaUcN.js +1 -0
- package/dist/interface/assets/SettingsList-SvCO_gfG.js +1 -0
- package/dist/interface/assets/SettingsMqtt-BXBzHX84.js +1 -0
- package/dist/interface/assets/SettingsNotifications-CV-jJwFV.js +1 -0
- package/dist/interface/assets/SettingsPermissions-GchFaWjz.js +1 -0
- package/dist/interface/assets/SettingsRecordings-C4Ch_jmV.js +1 -0
- package/dist/interface/assets/SettingsRemote-OZHDJKSq.js +2 -0
- package/dist/interface/assets/SettingsSystem-BJlHXwVs.js +2 -0
- package/dist/interface/assets/SettingsUsers-RGOkOzx0.js +1 -0
- package/dist/interface/assets/Terminal-DX-ECC91.js +4 -0
- package/dist/interface/assets/Training-B8my7vka.js +1 -0
- package/dist/interface/assets/Training-D1DDjCCD.css +1 -0
- package/dist/interface/assets/Updates-DmavyhAn.js +2 -0
- package/dist/interface/assets/{VariableInput-CcILik4M.js → VariableInput-DQJle67Y.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-Bj0HdrYW.js → VariableSuggestions-D8V739dF.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-BA8Lcysg.js → VersionsHandler-B41TJhgY.js} +1 -1
- package/dist/interface/assets/{VirtualSensorCreate-DvHyw7I2.js → VirtualSensorCreate-MfLh-LpH.js} +1 -1
- package/dist/interface/assets/Workers-CafDeRhH.js +2 -0
- package/dist/interface/assets/api-By0v6EeA.css +2 -0
- package/dist/interface/assets/api-D1iULsSy.js +4 -0
- package/dist/interface/assets/{api-CKbL5jC7.js → api-DbUdfXO_.js} +1 -1
- package/dist/interface/assets/{assistant-CwmHp5bB.js → assistant-7hqP6OpA.js} +1 -1
- package/dist/interface/assets/{auth-AfZrkJ2f.js → auth-CDxrn7fe.js} +1 -1
- package/dist/interface/assets/{automations-DOCG0q8-.js → automations-CTTQlGCW.js} +1 -1
- package/dist/interface/assets/{cameraSources-mHEz9ROa.js → cameraSources-MOiE_1-W.js} +1 -1
- package/dist/interface/assets/cloudHandoff-CJzFH7CW.js +1 -0
- package/dist/interface/assets/{config-AG0SnOiY.js → config-6EiGxiYm.js} +1 -1
- package/dist/interface/assets/eventLabels-idFWh3Y_.js +1 -0
- package/dist/interface/assets/{flowSchema-B0d3VjU7.js → flowSchema-Dp_-p9WA.js} +1 -1
- package/dist/interface/assets/{intercomService-DG3EeZ6s.js → intercomService-BQYzjnAi.js} +1 -1
- package/dist/interface/assets/main-0oXl_8v7.js +3 -0
- package/dist/interface/assets/main-CdvAniEp.css +1 -0
- package/dist/interface/assets/mqtt-ChvXxMhR.js +1 -0
- package/dist/interface/assets/{notifications-8FH4ApEz.js → notifications-CbL-1oMs.js} +1 -1
- package/dist/interface/assets/{plugins-2JLUEMYc.js → plugins-lsoAntRQ.js} +1 -1
- package/dist/interface/assets/{rooms-DoAfzA8W.js → rooms-P8WrRIco.js} +1 -1
- package/dist/interface/assets/sensorIcons-BRTtoaHX.js +1 -0
- package/dist/interface/assets/{sensorSlots-biaL-O8E.js → sensorSlots-BTj-IM7z.js} +1 -1
- package/dist/interface/assets/{sensors-DyAMdS-H.js → sensors-Dxc7HgjZ.js} +1 -1
- package/dist/interface/assets/{server-BDRUGj61.js → server-DlK8gUoE.js} +1 -1
- package/dist/interface/assets/{theme-CLxrnR60.js → theme-BOppzzar.js} +1 -1
- package/dist/interface/assets/types-CeruGCb8.js +1 -0
- package/dist/interface/assets/{types-8JXzkoC8.js → types-J1Drrxo1.js} +1 -1
- package/dist/interface/assets/types-U4AuTNLR.js +1 -0
- package/dist/interface/assets/ungrouped-ING_JAuK.js +1 -0
- package/dist/interface/assets/{updates-F-veEP1I.js → updates-DtVp84Y0.js} +1 -1
- package/dist/interface/assets/{useAppVersion-BjUQmB7M.js → useAppVersion-BGgCk5GD.js} +1 -1
- package/dist/interface/assets/{useAssistantActions-CNEJol4o.js → useAssistantActions-C13O5EHU.js} +1 -1
- package/dist/interface/assets/useBackupRestore-vrhmc9i-.js +1 -0
- package/dist/interface/assets/{useCameraOptions-D_oduve2.js → useCameraOptions-CI1baRmm.js} +1 -1
- package/dist/interface/assets/{useKeyboardInset-CPWSVYlA.js → useKeyboardInset-CvgJp091.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-B_jXUqv8.js → useLogsSocket-Bf0BI8ET.js} +1 -1
- package/dist/interface/assets/{useNavLayout-DEngIIeU.js → useNavLayout-6zM1Y-7B.js} +1 -1
- package/dist/interface/assets/{usePermissions-DAO92InI.js → usePermissions-DZitFsBQ.js} +1 -1
- package/dist/interface/assets/{usePluginUpdates-CJi8Y_wl.js → usePluginUpdates-VZdpJ_Ax.js} +1 -1
- package/dist/interface/assets/{usePushRegistration-j9WCeFbv.js → usePushRegistration-vcbMrTxZ.js} +1 -1
- package/dist/interface/assets/{useServerRestart-BVks5tuC.js → useServerRestart-DrpuNbIu.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-DQ0NSyU8.js → useStreamStatus-l3Pfk1H4.js} +1 -1
- package/dist/interface/assets/{useTabSwipe-CVq7EcIY.js → useTabSwipe-BSpi25WV.js} +1 -1
- package/dist/interface/assets/{useUpdateChannel-C0fjDvNP.js → useUpdateChannel-kAl-5UNY.js} +1 -1
- package/dist/interface/assets/{useUpdatesSocket-DXKF9hzc.js → useUpdatesSocket-CaFz_fEb.js} +1 -1
- package/dist/interface/assets/{useUserOptions-UjMeAL5n.js → useUserOptions-BKteXnmU.js} +1 -1
- package/dist/interface/assets/vendor-cameraui-K1Nw4PvF.js +2326 -0
- package/dist/interface/assets/vendor-core-CJdfpB0I.js +1 -0
- package/dist/interface/assets/{vendor-primevue-Zx6t06A4.js → vendor-primevue-DoA2Rwcb.js} +871 -871
- package/dist/interface/assets/walk-B8FNhXuj.js +1 -0
- package/dist/interface/ha/{404-D5gfy0Cd.js → 404-RtgPpD9N.js} +1 -1
- package/dist/interface/ha/{About-JzlpCzBN.js → About-0PRv9bU0.js} +4 -4
- package/dist/interface/ha/{Assistant-DgOfGesf.js → Assistant-DbwxVfpl.js} +1021 -1021
- package/dist/interface/ha/{Automation-BDaWYiBu.js → Automation-D3HomdH7.js} +159 -155
- package/dist/interface/ha/{AutomationImport-BNB_PJ9R.js → AutomationImport-nQUUvZcv.js} +6 -6
- package/dist/interface/ha/{AutomationStore-_TeOt1wz.js → AutomationStore-BXDD92wZ.js} +8 -8
- package/dist/interface/ha/{AutomationStoreDetail-jjIEZoRi.js → AutomationStoreDetail-BYeq7FID.js} +19 -19
- package/dist/interface/ha/{Automations-DM6FEVOw.js → Automations-CJlGqmSP.js} +74 -74
- package/dist/interface/ha/Camera-Ai4BxVh_.js +747 -0
- package/dist/interface/ha/{CameraConsole-BoVql05l.js → CameraConsole-UMNOX3dE.js} +4 -4
- package/dist/interface/ha/{Cameras-cQBGvXq7.js → Cameras-BW-AEXYi.js} +266 -266
- package/dist/interface/ha/{Camview-mkG5FXZM.js → Camview-jikpVEE0.js} +195 -194
- package/dist/interface/ha/{Config-BNPDzo_h.js → Config-BOxwBH2D.js} +111 -111
- package/dist/interface/ha/{ConfigActionAssistant-C-8P3DYz.js → ConfigActionAssistant--3iWk9sq.js} +4 -4
- package/dist/interface/ha/{ConfigActionCameraControl-x1ksGL7m.js → ConfigActionCameraControl-DbVXWTeA.js} +3 -3
- package/dist/interface/ha/{ConfigActionHttp-DzCJp85z.js → ConfigActionHttp-Du3n2Yj0.js} +2 -2
- package/dist/interface/ha/{ConfigActionImageInput-C5C5U_2z.js → ConfigActionImageInput-BrJrTZTY.js} +4 -4
- package/dist/interface/ha/{ConfigActionMqtt-T29xb75r.js → ConfigActionMqtt-DZd1BNUt.js} +4 -4
- package/dist/interface/ha/{ConfigActionNotification-BcnyilF9.js → ConfigActionNotification-CJWW10gt.js} +3 -3
- package/dist/interface/ha/{ConfigActionNotificationControl-D3wIVKuU.js → ConfigActionNotificationControl-Bl41AVv1.js} +2 -2
- package/dist/interface/ha/{ConfigActionOutput-hD-yVczw.js → ConfigActionOutput-OTj7Lwgq.js} +1 -1
- package/dist/interface/ha/{ConfigActionPlugin-Bz1O-O4Q.js → ConfigActionPlugin-B790PEk0.js} +8 -8
- package/dist/interface/ha/{ConfigActionSensor-FOz-PYl_.js → ConfigActionSensor-BG3jZxge.js} +5 -5
- package/dist/interface/ha/{ConfigActionSnapshot-CmxEOuK1.js → ConfigActionSnapshot-fGmLl6jb.js} +2 -2
- package/dist/interface/ha/{ConfigActionVariable-BCvkrdCh.js → ConfigActionVariable-CK3vYDsr.js} +1 -1
- package/dist/interface/ha/{ConfigConditionIfElse-icfTG9OA.js → ConfigConditionIfElse-DyFLGg3y.js} +3 -3
- package/dist/interface/ha/{ConfigConditionSensorState-ClUAsm0d.js → ConfigConditionSensorState-BUTfeFO2.js} +7 -7
- package/dist/interface/ha/{ConfigConditionSwitch-C8AMCkn6.js → ConfigConditionSwitch-iDG_ubif.js} +5 -5
- package/dist/interface/ha/{ConfigSensorValueInput-ChvDQzGd.js → ConfigSensorValueInput-BmRIGUKB.js} +5 -5
- package/dist/interface/ha/{ConfigTriggerDetection-aUSyaClu.js → ConfigTriggerDetection-DyPQGt9M.js} +24 -24
- package/dist/interface/ha/{ConfigTriggerGeofence-DsJeJWP4.js → ConfigTriggerGeofence-CGE-bH_t.js} +6 -6
- package/dist/interface/ha/{ConfigTriggerMqtt-CsAxA7QZ.js → ConfigTriggerMqtt-CM3KZqBc.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSensor-CTxr9cfU.js → ConfigTriggerSensor-DoHMcwP4.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSystem-C8UEfpfs.js → ConfigTriggerSystem-BYKbW4Zr.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerWebhook-frEE-SCB.js → ConfigTriggerWebhook-5PBAadG8.js} +2 -2
- package/dist/interface/ha/{Console-A3VtbsLg.js → Console-BEXzl4p1.js} +7 -7
- package/dist/interface/ha/{CuiAutomationRunsDialog-BlJvhBiX.js → CuiAutomationRunsDialog-DkK_ar5G.js} +3 -3
- package/dist/interface/ha/{CuiBottomSheet-Cu-t3H0Z.js → CuiBottomSheet-CYNvQV4T.js} +2 -2
- package/dist/interface/ha/{CuiCameraRecordings-R5ArEmqJ.js → CuiCameraRecordings-DYjecmE_.js} +30 -48
- package/dist/interface/ha/{CuiCameraShares-B9pfRkM4.js → CuiCameraShares-C0H60nZS.js} +7 -7
- package/dist/interface/ha/{CuiCameraTable-CKjGKaMC.js → CuiCameraTable-CQNMyBaq.js} +5 -5
- package/dist/interface/ha/{CuiChartTable-BxWjRe-k.js → CuiChartTable-Bhv1p9zj.js} +1161 -1161
- package/dist/interface/ha/{CuiConsole-C5fzsR7t.js → CuiConsole-DtXorGF5.js} +20 -20
- package/dist/interface/ha/{CuiDataTable-BOdQDY8J.js → CuiDataTable-Cy8EjCk9.js} +7 -7
- package/dist/interface/ha/{CuiList-CU2NJ1K6.js → CuiList-DnW6Q5m2.js} +1 -1
- package/dist/interface/ha/{CuiPluginCard-BT71RRAD.js → CuiPluginCard-B4SCUblV.js} +125 -125
- package/dist/interface/ha/{CuiPluginOAuthButton-moh9uS7G.js → CuiPluginOAuthButton-BKg9SftQ.js} +5 -5
- package/dist/interface/ha/{CuiPluginTrustBadge-F_pVWkPJ.js → CuiPluginTrustBadge-CEtUJhCJ.js} +1 -1
- package/dist/interface/ha/{CuiQRCode-BNuj-nJ4.js → CuiQRCode-gp-9hqyk.js} +7 -7
- package/dist/interface/ha/{CuiSchema-Cb_8Ks-I.js → CuiSchema-CYpr_dD7.js} +161 -161
- package/dist/interface/ha/{CuiTopNavbarItem-BGzrrTls.js → CuiTopNavbarItem-CM-1oPxf.js} +1 -1
- package/dist/interface/ha/Faces-pa60ySng.js +1575 -0
- package/dist/interface/ha/{FirstSteps-BFX0-EEi.js → FirstSteps-D42yZm7R.js} +68 -68
- package/dist/interface/ha/{Floorplan-D6MGqSJT.js → Floorplan-BvE546pE.js} +512 -511
- package/dist/interface/ha/{Instances-CHzIUyyA.js → Instances-CAGCyfbB.js} +64 -64
- package/dist/interface/ha/{Logs-DZKM3dWv.js → Logs-RB3Ba8WM.js} +12 -12
- package/dist/interface/ha/{Menu-BQz4dfQi.js → Menu-hAnHu_jq.js} +17 -17
- package/dist/interface/ha/{Metrics-CdpWJ1mm.js → Metrics-ChYTebkX.js} +94 -93
- package/dist/interface/ha/{OAuthDeviceFlow-DUELtx3X.js → OAuthDeviceFlow-C05pH-9o.js} +3 -3
- package/dist/interface/ha/{Plugin-5bbTF0Rv.js → Plugin-D7XwcXkW.js} +647 -439
- package/dist/interface/ha/{PluginConsole-C__0lzsS.js → PluginConsole-DphEIOlL.js} +4 -4
- package/dist/interface/ha/{PluginDetail-Blrktk9W.js → PluginDetail-DfMl-yCl.js} +9 -9
- package/dist/interface/ha/{PluginSearch-BKbdwHQ1.js → PluginSearch-BPN4Opg5.js} +34 -34
- package/dist/interface/ha/{PluginUpdateProgress-IsNiecu3.js → PluginUpdateProgress-ByJ0R5sW.js} +3 -3
- package/dist/interface/ha/{Plugins-CC2Dwlx5.js → Plugins-BhKmjjNn.js} +59 -59
- package/dist/interface/ha/{RecentEventsFilter-9ZkDHD1g.js → RecentEventsFilter-BkLMlGVJ.js} +5 -6
- package/dist/interface/ha/Recordings-BaU7M1OW.js +1836 -0
- package/dist/interface/ha/{SensorEdit-Bi2Yx_ji.js → SensorEdit-DWxcCJ0F.js} +88 -88
- package/dist/interface/ha/{SensorHistory-sqG_6eav.js → SensorHistory-DuA9E9wT.js} +2 -2
- package/dist/interface/ha/{Sensors-DLtOh1p4.js → Sensors-CVpIHcgG.js} +438 -435
- package/dist/interface/ha/{Settings-DI3_zenm.js → Settings-BO2eBGEn.js} +61 -61
- package/dist/interface/ha/{SettingsAccount-pS86Qyr-.js → SettingsAccount-BQZZfoSM.js} +255 -255
- package/dist/interface/ha/{SettingsAppearance-tS3bubKQ.js → SettingsAppearance-B_yGl89u.js} +16 -16
- package/dist/interface/ha/{SettingsAssistant-LejCRXsF.js → SettingsAssistant-kMOixl9g.js} +501 -501
- package/dist/interface/ha/{SettingsBackup-CkhD1Kze.js → SettingsBackup-BpG-W4j-.js} +24 -24
- package/dist/interface/ha/{SettingsList-bibwvPSM.js → SettingsList-Btnkzu94.js} +6 -6
- package/dist/interface/ha/{SettingsMqtt-DSt0B4Qg.js → SettingsMqtt-C4DX9cNC.js} +23 -23
- package/dist/interface/ha/{SettingsNotifications-BF7ajNwE.js → SettingsNotifications-DI6ImggH.js} +6 -6
- package/dist/interface/ha/{SettingsPermissions-Jh0FuIF7.js → SettingsPermissions-BCDyCFcb.js} +2 -2
- package/dist/interface/ha/{SettingsRecordings-BTIdncxg.js → SettingsRecordings-Bq5NkJhd.js} +10 -10
- package/dist/interface/ha/{SettingsRemote-Cba4P1-O.js → SettingsRemote-CtncaPIA.js} +308 -308
- package/dist/interface/ha/{SettingsSystem-_Nnh2ZF5.js → SettingsSystem-BJXuA7xA.js} +11 -11
- package/dist/interface/ha/{SettingsUsers-BfHFoxJi.js → SettingsUsers-BF0rDluv.js} +91 -91
- package/dist/interface/ha/{Terminal-Dv_7oWmS.js → Terminal-kTCe2jP3.js} +11 -11
- package/dist/interface/ha/Training-BM2Xb8Ef.js +1754 -0
- package/dist/interface/ha/{Updates-BHl5H7zE.js → Updates-Cv1EY_T0.js} +6 -6
- package/dist/interface/ha/{VariableInput-DtLo7-Nw.js → VariableInput-BO2zZu4N.js} +1 -1
- package/dist/interface/ha/{VersionsHandler-CF0DSeol.js → VersionsHandler-CRnT9-K7.js} +10 -10
- package/dist/interface/ha/{VirtualSensorCreate-C907EgIz.js → VirtualSensorCreate-6dVRxPjw.js} +8 -8
- package/dist/interface/ha/{Workers-Dz1d9gEQ.js → Workers-MHia86lu.js} +97 -97
- package/dist/interface/ha/{api-DUqpDJ2N.js → api-CH_Y8Hee.js} +17459 -14633
- package/dist/interface/ha/{api-gId1nlMj.js → api-DylRa66V.js} +3 -3
- package/dist/interface/ha/{assistant-BaR65gIY.js → assistant-smRQYA6p.js} +53 -53
- package/dist/interface/ha/{auth-Btsz_KxO.js → auth-BXj5Fm6s.js} +38 -38
- package/dist/interface/ha/{automationBlueprint-CuO3iOiM.js → automationBlueprint-DGjftXFC.js} +4 -4
- package/dist/interface/ha/cameraui-cards.js +1 -1
- package/dist/interface/ha/{cards-DWhezIPP.js → cards-E0zw1UVg.js} +114 -113
- package/dist/interface/ha/{config-BKStpoEQ.js → config-dG_DA6XL.js} +16 -16
- package/dist/interface/ha/{dist-CM7R4_Gj.js → dist-BQf9ANPx.js} +77 -77
- package/dist/interface/ha/{dist-BIngHzHx.js → dist-euRmladF.js} +4 -4
- package/dist/interface/ha/{eventIcons-BFNUgeGr.js → eventLabels-B5GrM5jO.js} +291 -233
- package/dist/interface/ha/{intercomService-B7HkLs6z.js → intercomService-BtJ_zUNd.js} +250 -264
- package/dist/interface/ha/{mqtt-ajcSmTB-.js → mqtt-CP3vVkRJ.js} +12 -12
- package/dist/interface/ha/{notifications-Cf9dXHEO.js → notifications-CZNwSXTg.js} +22 -22
- package/dist/interface/ha/{pinia-DIKO5lnE.js → pinia-CVnHHb-s.js} +533 -501
- package/dist/interface/ha/{plugins-ml823dJV.js → plugins--eatOIaI.js} +66 -66
- package/dist/interface/ha/{protocol-BB4jdtUC-DW3jl2tV.js → protocol-BB4jdtUC-BhEwymva.js} +129 -48
- package/dist/interface/ha/{rooms-C5gUErBi.js → rooms-D5E6K75d.js} +8 -8
- package/dist/interface/ha/{server-dArenpJI.js → server-D1BqEY7i.js} +31 -31
- package/dist/interface/ha/{types-DYymuACA.js → types-CWogEoya.js} +36 -36
- package/dist/interface/ha/ungrouped-Ch4UX4dy.js +58 -0
- package/dist/interface/ha/{updates-D5sFzGtC.js → updates-B48Owi1w.js} +28 -28
- package/dist/interface/ha/{useAppVersion-C5x3Ap4_.js → useAppVersion-D95sKTJR.js} +2 -2
- package/dist/interface/ha/{useAssistantActions-S1FrNe9b.js → useAssistantActions-kDwiO-u5.js} +1 -1
- package/dist/interface/ha/{useKeyboardInset-Cj0T2AFX.js → useKeyboardInset-C2R51vsC.js} +1 -1
- package/dist/interface/ha/{useLogsSocket-DtvfQlPh.js → useLogsSocket-BzNWa2y2.js} +1 -1
- package/dist/interface/ha/{useNavLayout-HSFBA4JV.js → useNavLayout-228cwwqA.js} +19 -19
- package/dist/interface/ha/{usePermissions-DaE_wFch.js → usePermissions-CfA5x7Df.js} +1 -1
- package/dist/interface/ha/{useServerRestart-Ci0SppGW.js → useServerRestart-B0c40zs5.js} +1 -1
- package/dist/interface/ha/{useTabSwipe-CPKkRmaH.js → useTabSwipe-CfZg5hWj.js} +2 -2
- package/dist/interface/ha/{useUpdateChannel-CXHHovK3.js → useUpdateChannel-DQxI7FrD.js} +2 -2
- package/dist/interface/ha/{useUpdatesSocket-DVST2YXV.js → useUpdatesSocket-B8LqBBd3.js} +1 -1
- package/dist/interface/ha/{useUserOptions-BYcYI6QA.js → useUserOptions-dZf6ejlz.js} +1 -1
- package/dist/interface/ha/walk-CsSXaeJw.js +33 -0
- package/dist/interface/index.html +35 -36
- package/dist/interface/sw.js +1 -1
- package/dist/interface/workbox-5f52ac45.js +1 -0
- package/dist/server/package.json +11 -11
- package/dist/server/requirements.txt +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +22 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +4 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/__init__.py +10 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +6 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +92 -4
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +16 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +4 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face_embedder.py +1 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/object.py +3 -3
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/person_embedder.py +65 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/segmenter.py +81 -0
- package/dist/server/src/api/database/index.d.ts +2 -1
- package/dist/server/src/api/database/index.js +31 -7
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/database/migrations/v2-2-9.d.ts +3 -0
- package/dist/server/src/api/database/migrations/v2-2-9.js +28 -0
- package/dist/server/src/api/database/migrations/v2-2-9.js.map +1 -0
- package/dist/server/src/api/database/record-schemas.d.ts +1 -1
- package/dist/server/src/api/database/types.d.ts +17 -1
- package/dist/server/src/api/schemas/assistant.schema.d.ts +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +140 -76
- package/dist/server/src/api/schemas/cameras.schema.js +4 -2
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/training.schema.d.ts +15 -3
- package/dist/server/src/api/schemas/training.schema.js +4 -1
- package/dist/server/src/api/schemas/training.schema.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/worker-perf.js +2 -0
- package/dist/server/src/api/websocket/nsp/worker-perf.js.map +1 -1
- package/dist/server/src/api/websocket/types.d.ts +1 -0
- package/dist/server/src/assistant/search.d.ts +17 -0
- package/dist/server/src/assistant/search.js +10 -2
- package/dist/server/src/assistant/search.js.map +1 -1
- package/dist/server/src/assistant/tools/plugins.js +7 -3
- package/dist/server/src/assistant/tools/plugins.js.map +1 -1
- package/dist/server/src/assistant/types.d.ts +2 -0
- package/dist/server/src/automations/actions/plugin.js +5 -9
- package/dist/server/src/automations/actions/plugin.js.map +1 -1
- package/dist/server/src/automations/pluginMethodRegistry.d.ts +6 -0
- package/dist/server/src/automations/pluginMethodRegistry.js +39 -0
- package/dist/server/src/automations/pluginMethodRegistry.js.map +1 -1
- package/dist/server/src/automations/segment-picture.d.ts +16 -0
- package/dist/server/src/automations/segment-picture.js +152 -0
- package/dist/server/src/automations/segment-picture.js.map +1 -0
- package/dist/server/src/camera/decoder/detection-coordinator.d.ts +5 -2
- package/dist/server/src/camera/decoder/detection-coordinator.js +45 -22
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-pipeline.d.ts +30 -2
- package/dist/server/src/camera/decoder/detection-pipeline.js +81 -21
- package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
- package/dist/server/src/camera/decoder/event-manager.d.ts +12 -2
- package/dist/server/src/camera/decoder/event-manager.js +77 -75
- package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
- package/dist/server/src/camera/decoder/event-trace.d.ts +41 -1
- package/dist/server/src/camera/decoder/event-trace.js +63 -8
- package/dist/server/src/camera/decoder/event-trace.js.map +1 -1
- package/dist/server/src/camera/decoder/face-tracks.d.ts +26 -0
- package/dist/server/src/camera/decoder/face-tracks.js +199 -0
- package/dist/server/src/camera/decoder/face-tracks.js.map +1 -0
- package/dist/server/src/camera/decoder/frame-scaler.d.ts +3 -1
- package/dist/server/src/camera/decoder/frame-scaler.js +36 -8
- package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
- package/dist/server/src/camera/decoder/nvr-sink.d.ts +6 -0
- package/dist/server/src/camera/decoder/nvr-sink.js +1 -1
- package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
- package/dist/server/src/camera/decoder/perf-tracker.d.ts +2 -0
- package/dist/server/src/camera/decoder/perf-tracker.js +4 -0
- package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
- package/dist/server/src/camera/decoder/ptz/autotracker.d.ts +6 -1
- package/dist/server/src/camera/decoder/ptz/autotracker.js +107 -25
- package/dist/server/src/camera/decoder/ptz/autotracker.js.map +1 -1
- package/dist/server/src/camera/decoder/secondary-stage.d.ts +10 -8
- package/dist/server/src/camera/decoder/secondary-stage.js +145 -125
- package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
- package/dist/server/src/camera/decoder/training-sink.d.ts +5 -2
- package/dist/server/src/camera/decoder/training-sink.js +30 -6
- package/dist/server/src/camera/decoder/training-sink.js.map +1 -1
- package/dist/server/src/camera/decoder/types.d.ts +6 -2
- package/dist/server/src/camera/decoder/types.js +4 -2
- package/dist/server/src/camera/decoder/types.js.map +1 -1
- package/dist/server/src/manager/trainingCandidateManager.d.ts +2 -1
- package/dist/server/src/manager/trainingCandidateManager.js +25 -3
- package/dist/server/src/manager/trainingCandidateManager.js.map +1 -1
- package/dist/server/src/manager/trainingSubmission.d.ts +5 -0
- package/dist/server/src/manager/trainingSubmission.js +73 -0
- package/dist/server/src/manager/trainingSubmission.js.map +1 -0
- package/dist/server/src/manager/types.d.ts +8 -2
- package/dist/server/src/manager/types.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/proxy/sensor.py +2 -0
- package/dist/server/src/remote/api/routes/train.d.ts +44 -3
- package/dist/server/src/remote/api/routes/train.js +2 -2
- package/dist/server/src/remote/api/routes/train.js.map +1 -1
- package/dist/server/src/rpc/interfaces/core.d.ts +6 -2
- package/dist/server/src/rpc/interfaces/detection.d.ts +20 -3
- package/dist/server/src/rpc/server.d.ts +2 -0
- package/dist/server/src/rpc/server.js +8 -5
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/sensors/registry.d.ts +1 -0
- package/dist/server/src/sensors/registry.js +20 -11
- package/dist/server/src/sensors/registry.js.map +1 -1
- package/dist/server/src/sensors/types.d.ts +1 -0
- package/dist/server/src/sensors/types.js +3 -0
- package/dist/server/src/sensors/types.js.map +1 -1
- package/dist/server/src/services/config/index.d.ts +1 -0
- package/dist/server/src/services/config/index.js +2 -0
- package/dist/server/src/services/config/index.js.map +1 -1
- package/dist/server/src/utils/image.d.ts +6 -0
- package/dist/server/src/utils/image.js +58 -22
- package/dist/server/src/utils/image.js.map +1 -1
- package/npm-shrinkwrap.json +115 -74
- package/package.json +11 -11
- package/dist/interface/assets/About-DBOS1rfw.js +0 -1
- package/dist/interface/assets/Assistant-BQ6Ld-bt.css +0 -1
- package/dist/interface/assets/Assistant-BRcHj8hq.js +0 -1
- package/dist/interface/assets/Automation-C0Emde7z.js +0 -3
- package/dist/interface/assets/AutomationStore-C2G0Bk8c.js +0 -2
- package/dist/interface/assets/Automations-D-vfqRnZ.js +0 -2
- package/dist/interface/assets/Camera-BpurrgAr.js +0 -2
- package/dist/interface/assets/Camera-D0B7yyVD.css +0 -1
- package/dist/interface/assets/Camview-IbOVRx20.js +0 -1
- package/dist/interface/assets/ConfigActionCameraControl-Bw_egtpP.js +0 -1
- package/dist/interface/assets/ConfigActionSensor-BErRRYfl.js +0 -1
- package/dist/interface/assets/Console-oCuuVKET.js +0 -1
- package/dist/interface/assets/CuiAssistantConversation-Bsyxau9v.js +0 -5
- package/dist/interface/assets/CuiAutomationRunsDialog-sRh_K6JI.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-DWoSHzC7.js +0 -1
- package/dist/interface/assets/CuiCameraPipCard-D6REm8uT.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-C2tvrbbw.js +0 -1
- package/dist/interface/assets/CuiCameraShares-jrrUEHoZ.js +0 -1
- package/dist/interface/assets/CuiCameraTable-BOzTWLwd.js +0 -1
- package/dist/interface/assets/CuiChartTable-BYrIX7LV.js +0 -1
- package/dist/interface/assets/CuiLightControl-DitIWqUr.js +0 -1
- package/dist/interface/assets/CuiList-BewTNr2X.js +0 -1
- package/dist/interface/assets/CuiPluginCard-Bd2HFduI.js +0 -2
- package/dist/interface/assets/CuiPluginCategoryChip-DlzOwRgc.js +0 -1
- package/dist/interface/assets/CuiSchema-BL0QZmP2.js +0 -1
- package/dist/interface/assets/CuiTopNavbarItem-Ti2TueU1.js +0 -1
- package/dist/interface/assets/Faces-DARrGLXf.js +0 -1
- package/dist/interface/assets/FirstSteps-DBYPBvGr.js +0 -1
- package/dist/interface/assets/Floorplan-BaZvzoyv.js +0 -1
- package/dist/interface/assets/Instances-r0xReURi.js +0 -1
- package/dist/interface/assets/Menu-C34RRyLd.js +0 -1
- package/dist/interface/assets/Metrics-BjoC71_O.js +0 -12
- package/dist/interface/assets/Metrics-DsHBab6t.css +0 -1
- package/dist/interface/assets/OAuthDeviceFlow-CdZxelf2.js +0 -1
- package/dist/interface/assets/Plugin-Qr_Q_Qfi.css +0 -1
- package/dist/interface/assets/Plugin-npx7CnwV.js +0 -1
- package/dist/interface/assets/PluginDetail-nwTrJmO6.js +0 -2
- package/dist/interface/assets/PluginSearch-CP2kQWKf.js +0 -1
- package/dist/interface/assets/PluginSearch-WEvbKMRs.js +0 -2
- package/dist/interface/assets/RecentEventsFilter-D5VSH2K1.js +0 -1
- package/dist/interface/assets/Recordings-BEKAn6QK.css +0 -1
- package/dist/interface/assets/Recordings-De6Zcv0M.js +0 -1
- package/dist/interface/assets/SensorEdit-SD_oHBRo.js +0 -1
- package/dist/interface/assets/SensorHistory-SxiLOloa.js +0 -1
- package/dist/interface/assets/Sensors-Djl64M-W.js +0 -2
- package/dist/interface/assets/Settings-CAf2reGs.js +0 -1
- package/dist/interface/assets/SettingsAccount-BGj5Ni91.js +0 -1
- package/dist/interface/assets/SettingsAccount-Dy6WC8ql.js +0 -1
- package/dist/interface/assets/SettingsAppearance-BGFhMlRk.js +0 -1
- package/dist/interface/assets/SettingsAppearance-DQzQmVzE.js +0 -1
- package/dist/interface/assets/SettingsAssistant-BwYVyuN3.js +0 -1
- package/dist/interface/assets/SettingsBackup-CVExGnOo.js +0 -1
- package/dist/interface/assets/SettingsList-vo7sz_MY.js +0 -1
- package/dist/interface/assets/SettingsMqtt-B1CuOcML.js +0 -1
- package/dist/interface/assets/SettingsNotifications-CCQ6eiq8.js +0 -1
- package/dist/interface/assets/SettingsPermissions-BlOf6HEy.js +0 -1
- package/dist/interface/assets/SettingsRecordings-7tTBg6m1.js +0 -1
- package/dist/interface/assets/SettingsRemote-DBgKmIdv.js +0 -2
- package/dist/interface/assets/SettingsSystem-DaFMsZpN.js +0 -2
- package/dist/interface/assets/SettingsUsers-DXACwVPi.js +0 -1
- package/dist/interface/assets/Terminal-DtGqlHbk.js +0 -4
- package/dist/interface/assets/Training-C-ToeAl4.css +0 -1
- package/dist/interface/assets/Training-Ca11D1Vj.js +0 -1
- package/dist/interface/assets/Updates-yenwuqnD.js +0 -2
- package/dist/interface/assets/Workers-Dyo44zxe.js +0 -2
- package/dist/interface/assets/api-CHQlxVtZ.css +0 -2
- package/dist/interface/assets/api-CLazgL-g.js +0 -4
- package/dist/interface/assets/cloudHandoff-zJCrDmwk.js +0 -1
- package/dist/interface/assets/eventIcons-C3JWChgS.js +0 -1
- package/dist/interface/assets/eventLabels-BsPoPWS9.js +0 -1
- package/dist/interface/assets/main-CGY9cVyi.css +0 -1
- package/dist/interface/assets/main-DkHV6YgB.js +0 -3
- package/dist/interface/assets/mqtt-DE2VbNdt.js +0 -1
- package/dist/interface/assets/sensorIcons-BntiOPX7.js +0 -1
- package/dist/interface/assets/types-B4LLKzDW.js +0 -1
- package/dist/interface/assets/types-a7Nw-P-m.js +0 -1
- package/dist/interface/assets/ungrouped-BoAbb9w3.js +0 -1
- package/dist/interface/assets/ungrouped-ChmBvcXp.css +0 -1
- package/dist/interface/assets/useBackupRestore-Biqn_lhh.js +0 -1
- package/dist/interface/assets/vendor-cameraui-GmMRyJ2R.js +0 -2326
- package/dist/interface/assets/vendor-core-BeAannbA.js +0 -1
- package/dist/interface/ha/Camera-sH9fRv18.js +0 -670
- package/dist/interface/ha/Faces-CsM5VO8Q.js +0 -1441
- package/dist/interface/ha/Recordings-B1XsJrzs.js +0 -1539
- package/dist/interface/ha/Training-CaSFA5oH.js +0 -1699
- package/dist/interface/ha/eventLabels-B4C1_4vT.js +0 -42
- package/dist/interface/ha/ungrouped-BHLAySWP.js +0 -1312
- package/dist/interface/workbox-778a14ff.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,Ht as t,Jt as n,K as r,Q as i,Z as a,di as o,ii as s,li as c,si as l,sr as ee,ui as te,yi as ne}from"./vendor-cameraui-GmMRyJ2R.js";import{Dr as u,F as re,Fn as d,H as f,I as p,In as ie,Ir as m,It as ae,J as oe,L as se,Ln as ce,Pn as h,R as g,Rr as le,V as _,bn as ue,ct as de,dr as v,f as fe,h as y,hn as pe,l as me,nn as he,qr as b,tt as ge,xn as _e,zn as x}from"./api-CLazgL-g.js";import{$n as S,Cn as ve,Cr as C,Hn as ye,In as w,Jn as T,K as E,R as be,Rn as D,Sr as O,Xn as xe,Z as k,br as Se,cn as A,dn as j,dr as M,er as Ce,fr as we,gn as N,hn as P,hr as F,jn as Te,ln as I,lr as Ee,mr as De,nn as L,nr as Oe,or as ke,rn as R,sn as z,sr as Ae,un as B,vn as V,yr as H}from"./vendor-Df81FCJz.js";import{F as je,I as Me,R as Ne,a as Pe,f as U,z as Fe}from"./vendor-primevue-Zx6t06A4.js";import{t as Ie}from"./close-Be7oB7d_.js";import{t as Le}from"./chevron-down-CxK4Sfjs.js";import{t as Re}from"./help-circle-outline-DXFepDAG.js";import{t as ze}from"./plus-BJb7U4bN.js";import{t as Be}from"./trash-can-outline-DVH3zgo0.js";import{t as Ve}from"./information-outline-ChOM9qgI.js";import{t as He}from"./search-D75YW08B.js";import{n as Ue,t as We}from"./cloud-check-zCGJxpWI.js";import{t as Ge}from"./back-filled-CJoz7Gkl.js";import{t as Ke}from"./settings-DDOgc5BX.js";var qe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Je(e,t){return w(),j(`svg`,qe,[...t[0]||=[A(`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 Ye=Ae({name:`mdi-cloud-check-outline`,render:Je}),Xe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function W(e,t){return w(),j(`svg`,Xe,[...t[0]||=[A(`path`,{fill:`currentColor`,d:`M6 13h12v-2H6M3 6v2h18V6M10 18h4v-2h-4z`},null,-1)]])}var Ze=Ae({name:`mdi-filter-variant`,render:W}),Qe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function $e(e,t){return w(),j(`svg`,Qe,[...t[0]||=[A(`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 et=Ae({name:`mdi-cloud-upload-outline`,render:$e}),tt=200;async function nt(e={},{signal:t}={}){return(await b.get(`/training/candidates`,{params:e,signal:t})).data}async function rt(e,t){return(await b.patch(`/training/candidates/${e}`,t)).data}async function G(e){await b.delete(`/training/candidates/${e}`)}async function K(e){let t=0;for(let n=0;n<e.length;n+=tt){let r=await b.post(`/training/candidates/submit`,{ids:e.slice(n,n+tt)});t+=r.data.queued}return{queued:t}}async function it({cursor:e,signal:t}={}){return(await b.get(`/training/submissions`,{params:e?{cursor:e}:void 0,signal:t})).data}async function at(e){await b.delete(`/training/submissions/${e}`)}async function q({signal:e}={}){return(await b.get(`/training/settings`,{signal:e})).data}async function ot(e){return(await b.patch(`/training/settings`,e)).data}var st=class{queryClient=k();getCandidatesQuery(){return m({queryKey:[`training-candidates`],queryFn:({signal:e})=>nt({},{signal:e}),staleTime:5e3})}getSettingsQuery(){return m({queryKey:[`training-settings`],queryFn:({signal:e})=>q({signal:e}),staleTime:3e4})}patchCandidateMutation(){return E({mutationFn:({id:e,patch:t})=>rt(e,t),onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-candidates`],exact:!0})}})}deleteCandidateMutation(){return E({mutationFn:G,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-candidates`],exact:!0})}})}deleteSubmissionMutation(){return E({mutationFn:at})}submitCandidatesMutation(){return E({mutationFn:K,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-candidates`],exact:!0})}})}patchSettingsMutation(){return E({mutationFn:ot,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`training-settings`],exact:!0})}})}},ct={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function J(e,t){return w(),j(`svg`,ct,[...t[0]||=[A(`path`,{fill:`currentColor`,d:`M17 14h2v3h3v2h-3v3h-2v-3h-3v-2h3zm-6 2L2 9l9-7l9 7zm0 2.54l1-.79V18c0 .71.12 1.39.35 2L11 21.07l-9-7l1.62-1.26z`},null,-1)]])}var lt=Ae({name:`mdi-layers-plus`,render:J}),ut=[`person`,`vehicle`,`animal`,`package`,`face`,`license_plate`],Y={desktop:{maxWidth:`1280px`,width:`85vw`}},X=Ee({progress:null}),dt=null,ft=null,Z=new Set,Q=new Set;function pt(e,t){for(let n of e)try{n(t)}catch{}}async function mt(){if(ft?.ready.value)try{let e=await ft.request(`get-submit-progress`);e.active?X.progress=e:X.progress?.active&&(X.progress=null)}catch{}}function ht(){mt(),pt(Z,{}),pt(Q,void 0)}function gt(){return ft||(dt=Oe(!0),dt.run(()=>{let e=u(`/training`);ft=e,e.on(`candidates-changed`,e=>pt(Z,e??{})),e.on(`submit-progress`,e=>{X.progress=e,pt(Z,{})}),e.onReady(ht)}),ft)}function _t(){function e(){gt()}function t(e){return Z.add(e),()=>Z.delete(e)}function n(e){return Q.add(e),()=>Q.delete(e)}function r(){X.progress=null}return{submitProgress:z(()=>X.progress),connect:e,onCandidatesChanged:t,onResync:n,dismissProgress:r}}var vt={class:`flex items-center justify-between gap-2 text-sm`},yt={class:`min-w-0 flex items-center gap-2`},bt={class:`font-medium truncate`},xt={class:`text-muted shrink-0`},St={class:`flex items-center gap-1.5 shrink-0`},Ct={class:`text-muted tabular-nums`},wt=[`data-stage-zoom`],Tt=[`src`],Et=[`x`,`y`,`width`,`height`,`stroke`,`fill`,`fill-opacity`,`stroke-width`,`onPointerdown`],Dt=[`onPointerdown`],Ot=[`cx`,`cy`],kt=[`cx`,`cy`,`fill`],At=[`x`,`y`,`width`,`height`,`stroke`],jt=[`x`,`y`,`width`,`height`,`stroke`,`fill`],Mt=[`onClick`],Nt=[`data-box-label`,`onPointerdown`],Pt={class:`bbox-label-text`},Ft={key:0,class:`bbox-label-confidence`},It={key:1,class:`bbox-label-confidence`},Lt=[`src`],Rt={class:`absolute inset-0 w-full h-full`},zt=[`x`,`y`,`width`,`height`,`stroke`,`fill`],Bt=[`x`,`y`,`width`,`height`,`stroke`,`fill`],Vt={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`},Ut={key:0,class:`flex items-center justify-center gap-2`},Wt={class:`text-muted text-sm`,for:`plate-text`},Gt={class:`flex flex-col items-center gap-0.5`},Kt={class:`flex items-center justify-center gap-1.5`},qt={class:`text-muted text-sm text-center`},Jt={class:`text-muted text-sm text-center`},Yt={key:1,class:`grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 justify-center mx-auto text-sm text-muted`},Xt=.01,Zt=4,Qt=10,$t=26,en=60,tn=400,nn=110,rn=2,an=80,on=50,sn=.003,cn=.5,ln=d(V({__name:`TrainingBoxEditor`,props:{candidates:{},startId:{},cameraName:{type:Function},imageUrl:{type:Function},onSave:{type:Function},onDelete:{type:Function}},setup(r,{expose:i}){let a=r,c=ve(`dialogRef`),{t:te,te:ne}=ee(),u=le(),re=_t(),d=[`nw`,`ne`,`sw`,`se`],f=new Map,p=Ee(new Set),ie=Ee(new Set),m=we(new Map),ae=0,oe=Math.max(0,a.candidates.findIndex(e=>e.id===a.startId)),se=y(),ce=T(`rootRef`),h=T(`labelMenuRef`),g=T(`stageRef`),_=T(`frameRef`),de=T(`svgRef`),v=M(a.candidates[oe]?.boxes.map(e=>({...e}))??[]),fe=M({w:16,h:9}),b=M(null),x=M(null),E=M(-1),k=M(!1),Oe=M(!1),Ae=o(`(any-pointer: fine)`),V=M(null),je=null,Me=M(-1),Ne=M(`person`),U=M(oe),Fe=De([]),Ie=M(!1),{zoom:Le,pan:Ve,constraining:He,minimapStyle:Ue,minimapBoxStyle:We,onZoomPan:Ge,onDoubleClick:Ke,onTouchStart:qe,onTouchEnd:Je,reset:Ye}=ge(g,_),{height:Xe}=s(_),W=z(()=>a.candidates[U.value]),Ze=z(()=>a.candidates.slice(0,U.value+1).filter(e=>!p.has(e.id)).length),Qe=z(()=>a.candidates.filter(e=>!p.has(e.id)).length),$e=z(()=>a.candidates.slice(0,U.value).some(e=>!p.has(e.id))),et=z(()=>a.candidates.slice(U.value+1).some(e=>!p.has(e.id))),tt=z(()=>ie.has(W.value.id)?`verified`:W.value.status),nt=z(()=>v.value.map((e,t)=>({box:e,i:t})).sort((e,t)=>st(e)-st(t))),rt=z(()=>new Map(nt.value.map(({i:e},t)=>[e,t+1]))),G=z(()=>v.value[E.value]),K=z(()=>{let e=v.value[E.value];return e?.label===`license_plate`?e:null}),it=z(()=>Ie.value?Fe.value.filter(e=>!v.value.some(t=>Z(t,e)>=cn)):[]),at=z(()=>[...ut.map(e=>({key:e,label:ct(e),icon:he(e).icon,iconProps:{style:{color:he(e).color}},active:v.value[Me.value]?.label===e,onClick:()=>Cn(e)})),{key:`remove`,label:te(`components.training_editor.remove_box`),icon:Be,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},onClick:()=>Tn(Me.value)}]),q=z(()=>e=>{let t=Xe.value||360;return e.y*t>=$t?`above`:t-(e.y+e.height)*t>=$t?`below`:`inside`}),ot=z(()=>e=>e.x>.7);function st({box:e,i:t}){return t===E.value?2**53-1:m.get(F(e))??t}function ct(e){let t=`components.training_editor.labels.${e}`;return ne(t)?te(t):e}function J(e){return he(e)}function Y(e){return`${e*100}%`}function X(e,t){return Y(t===`nw`||t===`sw`?e.x:e.x+e.width)}function dt(e,t){return Y(t===`nw`||t===`ne`?e.y:e.y+e.height)}function ft(e){let t={backgroundColor:J(e.label).color};ot.value(e)?t.right=Y(1-e.x-e.width):t.left=Y(e.x);let n=q.value(e);return t.top=n===`above`?Y(e.y):n===`below`?Y(e.y+e.height):`calc(${Y(e.y)} + 2px)`,t}function Z(e,t){let n=Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x),r=Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y);if(n<=0||r<=0)return 0;let i=n*r;return i/(e.width*e.height+t.width*t.height-i)}function Q(e){return{left:Y(e.x+e.width),top:Y(e.y+e.height),borderColor:J(e.label).color}}function pt(e){v.value.push({...e,confidence:1}),E.value=v.value.length-1}function mt(){for(let e of it.value)v.value.push({...e,confidence:1})}function ht(e){let t=e.target;t.naturalWidth&&t.naturalHeight&&(fe.value={w:t.naturalWidth,h:t.naturalHeight})}function gt(e){let t=de.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 ln(e,t){b.value={...t,clientX:e.clientX,clientY:e.clientY,moved:!1},de.value?.setPointerCapture(e.pointerId)}function un(e){if(h.value?.hide(),Le.value>1||!e.isPrimary)return;let{x:t,y:n}=gt(e);ln(e,{mode:`draw`,index:-1,startX:t,startY:n,origin:{label:Ne.value,confidence:1,x:t,y:n,width:0,height:0}})}function dn(e,t){if(!t.isPrimary)return;let{x:n,y:r}=gt(t);E.value=e,ln(t,{mode:`move`,index:e,startX:n,startY:r,origin:{...v.value[e]}})}function fn(e,t,n){if(!n.isPrimary)return;h.value?.hide();let{x:r,y:i}=gt(n);E.value=e,ln(n,{mode:`resize`,index:e,corner:t,startX:r,startY:i,origin:{...v.value[e]}})}function pn(e){e.touches.length>1&&b.value&&(b.value=null,x.value=null,V.value=null),qe(e)}function mn(e){let t=b.value;if(!t)return;let{x:n,y:r}=gt(e),i=e.pointerType===`touch`?Qt:Zt;if(Math.hypot(e.clientX-t.clientX,e.clientY-t.clientY)>i&&(t.moved=!0),e.pointerType===`touch`&&t.moved&&(gn(t)?_n(e):V.value=null),t.mode===`draw`){if(t.moved){let e=xn(t.startX,t.startY,n,r);x.value=e.width>=Xt&&e.height>=Xt?{label:Ne.value,confidence:1,...e}:null}return}if(t.mode===`move`){if(!t.moved)return;let e=v.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 a=t.corner===`nw`||t.corner===`sw`?t.origin.x+t.origin.width:t.origin.x,o=t.corner===`nw`||t.corner===`ne`?t.origin.y+t.origin.height:t.origin.y;Object.assign(v.value[t.index],xn(a,o,n,r))}function hn(e){let t=b.value;if(b.value=null,V.value=null,t){if(t.mode===`draw`){x.value&&x.value.width>=Xt&&x.value.height>=Xt?(v.value.push({...x.value}),E.value=v.value.length-1):t.moved||(E.value=-1),x.value=null;return}t.mode===`move`&&!t.moved&&Sn(t.index,e)}}function gn(e){let t=de.value?.getBoundingClientRect();if(!t||t.width===0)return!1;let n=e.mode===`draw`?x.value:v.value[e.index];return!n||Math.max(n.width*t.width,n.height*t.height)<=on}function _n(e){let t=_.value?.getBoundingClientRect(),n=g.value?.getBoundingClientRect();if(!t||!n||t.width===0||t.height===0){V.value=null;return}let r=nn/2,i=Math.min(Math.max(e.clientX-n.left,59),n.width-r-4),a=e.clientY-n.top-an;a-r<4&&(a=e.clientY-n.top+an),V.value={x:i,y:a,frameW:t.width,frameH:t.height,tx:r-(e.clientX-t.left)*rn,ty:r-(e.clientY-t.top)*rn}}function vn(e){let t=e instanceof HTMLElement||e instanceof SVGElement?e:null;if(!t||g.value?.contains(t)||t.closest(`.p-dialog-header`)||t.closest(`button`))return!1;let n=ce.value?.closest(`.p-dialog-content`)?.lastElementChild;return!(n&&n!==ce.value&&n.contains(t))}function yn(e){if(je=null,e.touches.length!==1||!vn(e.target))return;let t=e.touches[0];je={x:t.clientX,y:t.clientY,at:Date.now()}}function bn(e){let t=je;if(je=null,!t||e.changedTouches.length!==1)return;let n=e.changedTouches[0],r=n.clientX-t.x,i=n.clientY-t.y;Date.now()-t.at<=tn&&Math.abs(r)>=en&&Math.abs(r)>2*Math.abs(i)&&$(r<0?1:-1)}function xn(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 Sn(e,t){Me.value=e;let n=_.value?.querySelector(`[data-box-label="${e}"]`),r={currentTarget:_.value??t.currentTarget};h.value?.toggleMenu(r,n??void 0)}function Cn(e){let t=v.value[Me.value];t&&(t.label=e,t.confidence=1,Ne.value=e)}function wn(e){let t=v.value[E.value];t&&(t.text=(e??``).toUpperCase().replace(/[^A-Z0-9ÄÖÜ\- ]/g,``)||void 0)}function Tn(e){e<0||e>=v.value.length||(v.value.splice(e,1),E.value=-1,Me.value=-1,h.value?.hide())}function En(e,t=!0){e<0||e>=a.candidates.length||(t&&f.set(W.value.id,v.value.map(e=>({...e}))),Fe.value=v.value.map(e=>({...e})),U.value=e,v.value=(f.get(W.value.id)??W.value.boxes).map(e=>({...e})),x.value=null,b.value=null,V.value=null,E.value=-1,Me.value=-1,m.clear(),h.value?.hide(),Ye())}async function Dn(e){return await a.onSave(W.value.id,v.value.map(e=>({...e})),e),f.set(W.value.id,v.value.map(e=>({...e}))),e===`verified`&&ie.add(W.value.id),$(1,!1)?null:void 0}function $(e,t=!0){let n=U.value+e;for(;n>=0&&n<a.candidates.length&&p.has(a.candidates[n].id);)n+=e;return n<0||n>=a.candidates.length?!1:(En(n,t),!0)}async function On(){let e=W.value.id;p.add(e);try{await a.onDelete(e)}catch(t){throw p.delete(e),t}return f.delete(e),$(1,!1)||$(-1,!1)?null:void 0}function kn(e){let t=!1;for(let n of e)!p.has(n)&&a.candidates.some(e=>e.id===n)&&(p.add(n),f.delete(n),n===W.value.id&&(t=!0));t&&(u.add({severity:`warn`,detail:te(`components.training_editor.removed_meanwhile`),life:4e3}),!$(1,!1)&&!$(-1,!1)&&c.value.close({status:`cancel`}))}function An(){for(let e of[1,-1]){let t=U.value+e;for(;t>=0&&t<a.candidates.length&&p.has(a.candidates[t].id);)t+=e;let n=a.candidates[t];n&&(new Image().src=a.imageUrl(n.id))}}function jn(e){v.value.length&&(E.value=(E.value+e+v.value.length)%v.value.length)}function Mn(e){let t=v.value[E.value];if(!t)return;let n=ut,r=n[(n.indexOf(t.label)+e+n.length)%n.length];t.label=r,t.confidence=1,Ne.value=r}function Nn(e,t,n){let r=v.value[E.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))))}async function Pn(){if(!Oe.value){Oe.value=!0;try{let e=await Dn(`verified`);e!==null&&c.value.close({status:`confirm`,data:e})}finally{Oe.value=!1}}}xe(U,An,{immediate:!0}),xe(G,(e,t)=>{t&&t!==e&&v.value.includes(t)&&m.set(F(t),--ae)}),l(window,`keydown`,e=>{if(e.target?.closest?.(`input, textarea`))return;let t={ArrowLeft:[-.003,0],ArrowRight:[sn,0],ArrowUp:[0,-.003],ArrowDown:[0,sn]};if(t[e.key]){if(E.value>=0){e.preventDefault();let[n,r]=t[e.key];Nn(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(),jn(e.shiftKey?-1:1)):e.key===`Escape`?(E.value=-1,h.value?.hide()):(e.key===`Delete`||e.key===`Backspace`)&&E.value>=0?Tn(E.value):e.key===`v`||e.key===`V`?e.shiftKey?mt():Fe.value.length>0&&(Ie.value=!Ie.value):e.key===`s`||e.key===`S`?Mn(e.shiftKey?-1:1):e.key===` `&&!h.value?.isOpen&&(e.preventDefault(),Pn()))}),l(()=>ce.value?.closest(`.p-dialog-content`)??void 0,`touchstart`,yn,{passive:!0}),l(()=>ce.value?.closest(`.p-dialog-content`)??void 0,`touchend`,bn,{passive:!0}),re.connect();let Fn=re.onCandidatesChanged(e=>{e.removed?.length&&kn(e.removed)});return Te(()=>{Fn()}),i({isLoading:Oe,onConfirm:()=>Dn(`verified`),onCancel:()=>On()}),(i,a)=>{let o=Pe,s=lt,c=t,l=ze,ee=ue,te=_e,ne=e,u=Re,re=n;return w(),j(`div`,{ref_key:`rootRef`,ref:ce,class:`flex flex-col gap-3 h-full min-h-0`},[A(`div`,vt,[A(`div`,yt,[N(o,{severity:H(tt)===`verified`?`success`:`info`,value:i.$t(`views.training.status_${H(tt)}`),class:`shrink-0`},null,8,[`severity`,`value`]),A(`span`,bt,C(r.cameraName(H(W).cameraId)),1),A(`span`,xt,C(H(me)(H(W).createdAt)),1)]),A(`div`,St,[H(Fe).length>0?Ce((w(),I(c,{key:0,severity:H(Ie)?`primary`:`secondary`,text:``,rounded:``,class:`cui-icon-sm`,onClick:a[0]||=e=>Ie.value=!H(Ie)},{icon:S(()=>[N(s,{class:`w-4 h-4`})]),_:1},8,[`severity`])),[[re,i.$t(`components.training_editor.ghosts_toggle`),void 0,{bottom:!0}]]):B(``,!0),A(`span`,Ct,C(H(Ze))+` / `+C(H(Qe)),1)])]),A(`div`,{ref_key:`stageRef`,ref:g,class:`stage relative w-full bg-black rounded-lg shrink-0 overflow-hidden select-none`},[N(H(be),{pan:H(Ve),"onUpdate:pan":a[10]||=e=>ke(Ve)?Ve.value=e:null,zoom:H(Le),"onUpdate:zoom":a[11]||=e=>ke(Le)?Le.value=e:null,"pan-enabled":H(Le)>1&&!H(b),"enable-control-button":!1,"dbl-click-enabled":!1,"min-zoom":1,"max-zoom":H(5),selector:`[data-stage-zoom='${H(se)}']`,"zoom-origin":`pointer`,class:Se([`absolute inset-0 flex items-center justify-center`,{"zoom-constraining":H(He)}]),onPanned:H(Ge),onZoom:H(Ge),onDblclick:H(Ke),onTouchstart:pn,onTouchend:H(Je)},{default:S(()=>[A(`div`,{ref_key:`frameRef`,ref:_,"data-stage-zoom":H(se),class:`frame relative`,style:O({"--ar-w":H(fe).w,"--ar-h":H(fe).h})},[A(`img`,{src:r.imageUrl(H(W).id),class:`absolute inset-0 w-full h-full`,draggable:`false`,onLoad:ht},null,40,Tt),(w(),j(`svg`,{ref_key:`svgRef`,ref:de,class:Se([`absolute inset-0 w-full h-full touch-none`,H(Le)>1?`cursor-grab`:`cursor-crosshair`]),onPointerdown:un,onPointermove:mn,onPointerup:hn,onPointercancel:hn},[(w(!0),j(R,null,D(H(nt),({box:e,i:t})=>(w(),j(`g`,{key:t},[A(`rect`,{x:Y(e.x),y:Y(e.y),width:Y(e.width),height:Y(e.height),stroke:J(e.label).color,fill:J(e.label).color,"fill-opacity":t===H(E)?.22:.12,"stroke-width":t===H(E)?3.5:2,"vector-effect":`non-scaling-stroke`,class:`cursor-move`,onPointerdown:L(e=>dn(t,e),[`stop`]),onTouchstart:a[1]||=L(()=>{},[`stop`]),onMousedown:a[2]||=L(()=>{},[`stop`])},null,40,Et),(w(),j(R,null,D(d,n=>A(`g`,{key:n,class:`cursor-nwse-resize`,onPointerdown:L(e=>fn(t,n,e),[`stop`]),onTouchstart:a[3]||=L(()=>{},[`stop`]),onMousedown:a[4]||=L(()=>{},[`stop`])},[A(`circle`,{cx:X(e,n),cy:dt(e,n),r:`14`,fill:`transparent`},null,8,Ot),A(`circle`,{cx:X(e,n),cy:dt(e,n),r:`4.5`,fill:J(e.label).color},null,8,kt)],40,Dt)),64))]))),128)),(w(!0),j(R,null,D(H(it),(e,t)=>(w(),j(`rect`,{key:`ghost-${t}`,x:Y(e.x),y:Y(e.y),width:Y(e.width),height:Y(e.height),stroke:J(e.label).color,fill:`none`,"stroke-opacity":`0.75`,"stroke-dasharray":`3 5`,"stroke-width":`1.5`,"vector-effect":`non-scaling-stroke`,class:`pointer-events-none`},null,8,At))),128)),H(x)?(w(),j(`rect`,{key:0,x:Y(H(x).x),y:Y(H(x).y),width:Y(H(x).width),height:Y(H(x).height),stroke:J(H(x).label).color,fill:J(H(x).label).color,"fill-opacity":`0.1`,"stroke-dasharray":`6 4`,"stroke-width":`2`,"vector-effect":`non-scaling-stroke`},null,8,jt)):B(``,!0)],34)),(w(!0),j(R,null,D(H(it),(e,t)=>Ce((w(),j(`button`,{key:`ghost-chip-${t}`,type:`button`,class:`ghost-chip`,style:O(Q(e)),onPointerdown:a[5]||=L(()=>{},[`stop`]),onTouchstart:a[6]||=L(()=>{},[`stop`]),onMousedown:a[7]||=L(()=>{},[`stop`]),onClick:L(t=>pt(e),[`stop`])},[N(l,{class:`w-3.5 h-3.5 shrink-0`}),(w(),I(ye(J(e.label).icon),{class:`bbox-label-icon`}))],44,Mt)),[[re,i.$t(`components.training_editor.ghost_take`),void 0,{top:!0}]])),128)),(w(!0),j(R,null,D(H(v),(e,t)=>(w(),j(`div`,{key:`label-${t}`,class:Se([`bbox-label cursor-move`,{"label-bottom":H(q)(e)===`below`,"label-inside":H(q)(e)===`inside`,"label-right":H(ot)(e)}]),"data-box-label":t,onPointerdown:L(e=>dn(t,e),[`stop`]),onPointermove:mn,onPointerup:hn,onPointercancel:hn,onTouchstart:a[8]||=L(()=>{},[`stop`]),onMousedown:a[9]||=L(()=>{},[`stop`]),style:O([ft(e),{zIndex:H(rt).get(t)}])},[(w(),I(ye(J(e.label).icon),{class:`bbox-label-icon`})),A(`span`,Pt,C(ct(e.label)),1),e.text?(w(),j(`span`,Ft,C(e.text),1)):e.confidence<1?(w(),j(`span`,It,C(Math.round(e.confidence*100))+`%`,1)):B(``,!0)],46,Nt))),128))],12,wt)]),_:1},8,[`pan`,`zoom`,`pan-enabled`,`max-zoom`,`selector`,`class`,`onPanned`,`onZoom`,`onDblclick`,`onTouchend`]),H(Ue)?(w(),j(`div`,{key:0,class:`zoom-minimap`,style:O(H(We)??void 0)},[A(`div`,{class:`zoom-minimap-viewport`,style:O(H(Ue))},null,4)],4)):B(``,!0),H(V)?(w(),j(`div`,{key:1,class:`loupe`,style:O({left:`${H(V).x}px`,top:`${H(V).y}px`})},[A(`div`,{class:`loupe-content`,style:O({width:`${H(V).frameW}px`,height:`${H(V).frameH}px`,transform:`translate(${H(V).tx}px, ${H(V).ty}px) scale(${rn})`})},[A(`img`,{src:r.imageUrl(H(W).id),class:`absolute inset-0 w-full h-full`,draggable:`false`},null,8,Lt),(w(),j(`svg`,Rt,[(w(!0),j(R,null,D(H(v),(e,t)=>(w(),j(`rect`,{key:t,x:Y(e.x),y:Y(e.y),width:Y(e.width),height:Y(e.height),stroke:J(e.label).color,fill:J(e.label).color,"fill-opacity":`0.1`,"stroke-width":`1.5`},null,8,zt))),128)),H(x)?(w(),j(`rect`,{key:0,x:Y(H(x).x),y:Y(H(x).y),width:Y(H(x).width),height:Y(H(x).height),stroke:J(H(x).label).color,fill:J(H(x).label).color,"fill-opacity":`0.1`,"stroke-dasharray":`4 3`,"stroke-width":`1.5`},null,8,Bt)):B(``,!0)]))],4),a[15]||=A(`div`,{class:`loupe-crosshair`},null,-1)],4)):B(``,!0),H($e)?(w(),j(`div`,Vt,[N(c,{severity:`secondary`,rounded:``,class:`cui-icon-md opacity-60 hover:opacity-100`,onClick:a[12]||=L(e=>$(-1),[`stop`])},{icon:S(()=>[N(ee,{width:`100%`,height:`100%`})]),_:1})])):B(``,!0),H(et)?(w(),j(`div`,Ht,[N(c,{severity:`secondary`,rounded:``,class:`cui-icon-md opacity-60 hover:opacity-100`,onClick:a[13]||=L(e=>$(1),[`stop`])},{icon:S(()=>[N(te,{width:`100%`,height:`100%`})]),_:1})])):B(``,!0)],512),H(K)?(w(),j(`div`,Ut,[A(`label`,Wt,C(i.$t(`components.training_editor.plate_text`)),1),N(ne,{id:`plate-text`,"model-value":H(K).text??``,size:`small`,maxlength:`12`,class:`w-40 uppercase`,placeholder:`ABC 1234`,"onUpdate:modelValue":wn},null,8,[`model-value`])])):B(``,!0),A(`div`,Gt,[A(`div`,Kt,[A(`span`,qt,C(i.$t(`components.training_editor.hint`)),1),H(Ae)?(w(),I(c,{key:0,severity:`secondary`,text:``,rounded:``,class:`cui-icon-sm shrink-0`,onClick:a[14]||=e=>k.value=!H(k)},{icon:S(()=>[N(u,{class:`w-4 h-4`})]),_:1})):B(``,!0)]),A(`span`,Jt,C(i.$t(`components.training_editor.hint_wrong`)),1)]),H(Ae)&&H(k)?(w(),j(`div`,Yt,[a[16]||=A(`span`,null,[A(`kbd`,null,`Tab`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_select`)),1),a[17]||=P(),a[18]||=A(`span`,null,[A(`kbd`,null,`←↑→↓`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_move`)),1),a[19]||=P(),a[20]||=A(`span`,null,[A(`kbd`,null,`Shift`),P(` + `),A(`kbd`,null,`←↑→↓`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_resize`)),1),a[21]||=P(),a[22]||=A(`span`,null,[A(`kbd`,null,`S`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_label`)),1),a[23]||=P(),a[24]||=A(`span`,null,[A(`kbd`,null,`Del`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_delete`)),1),a[25]||=P(),a[26]||=A(`span`,null,[A(`kbd`,null,`V`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_ghosts`)),1),a[27]||=P(),a[28]||=A(`span`,null,[A(`kbd`,null,`Shift`),P(` + `),A(`kbd`,null,`V`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_ghosts_all`)),1),a[29]||=P(),a[30]||=A(`span`,null,[A(`kbd`,null,`Esc`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_deselect`)),1),a[31]||=P(),a[32]||=A(`span`,null,[A(`kbd`,null,`Space`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_verify`)),1),a[33]||=P(),a[34]||=A(`span`,null,[A(`kbd`,null,`←`),P(` / `),A(`kbd`,null,`→`)],-1),A(`span`,null,C(i.$t(`components.training_editor.sc_nav`)),1)])):B(``,!0),N(pe,{ref_key:`labelMenuRef`,ref:h,items:H(at),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])],512)}}}),[[`__scopeId`,`data-v-25538d2a`]]),un={class:`flex flex-col gap-3`},dn={key:0,class:`flex flex-col gap-2`},fn={key:1,class:`flex flex-col items-center gap-3 py-10`},pn={class:`text-muted text-sm text-center max-w-sm`},mn={key:2,class:`flex flex-col items-center gap-3 py-10`},hn={class:`text-muted text-sm text-center max-w-sm`},gn={class:`text-muted text-sm`},_n={class:`w-24 aspect-video rounded-lg overflow-hidden bg-black/5 dark:bg-black/30 shrink-0`},vn={class:`flex-1 min-w-0`},yn={class:`flex flex-wrap items-center gap-1`},bn={class:`text-xs text-muted mt-1`},xn={key:0,class:`flex justify-center py-2`},Sn=V({__name:`TrainingSubmissions`,setup(e){let r=new st,{t:a,te:o}=ee(),s=le(),l=_t(),te=r.deleteSubmissionMutation(),ne=M(``),u=M([]),d=M(0),f=M(),p=M(!0),ie=M(!1),m=M(!1),ae=T(`loadMoreRef`);function se(e){let t={};for(let n of e.labels)t[n.label]=(t[n.label]??0)+1;return t}function ce(e){let t=`components.training_editor.labels.${e}`;return o(t)?a(t):e}async function g(){p.value=u.value.length===0;try{let e=await it();u.value=e.items,d.value=e.total??e.items.length,f.value=e.nextCursor,m.value=!1}catch{m.value=!0}finally{p.value=!1}}async function _(){let e=f.value;if(e&&!ie.value){ie.value=!0;try{let t=await it({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{ie.value=!1}}}async function ue(e){ne.value=e;try{await te.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{ne.value=``}}c(ae,([e])=>{e?.isIntersecting&&_()}),xe(()=>l.submitProgress.value?.active,(e,t)=>{t&&!e&&g()});let de=l.onResync(()=>{g()});return Te(()=>{de()}),g(),(e,r)=>{let a=i,o=Ue,s=re,c=h,l=Pe,ee=Be,g=t,le=oe,_=n;return w(),j(`div`,un,[H(p)?(w(),j(`div`,dn,[(w(),j(R,null,D(4,e=>N(a,{key:e,height:`72px`,"border-radius":`12px`})),64))])):H(m)?(w(),j(`div`,fn,[N(o,{class:`w-10 h-10 text-muted`}),A(`span`,pn,C(e.$t(`components.training_submissions.load_failed`)),1)])):H(u).length?(w(),j(R,{key:3},[A(`span`,gn,C(e.$t(`components.training_submissions.count`,H(d))),1),(w(!0),j(R,null,D(H(u),t=>(w(),j(`div`,{key:t.id,class:`cui-card h-auto! shrink-0 p-2 flex items-center gap-3`},[A(`div`,_n,[N(c,{src:t.imageUrl,"image-container-class":`w-full h-full`,"image-style":{objectFit:`cover`}},null,8,[`src`])]),A(`div`,vn,[A(`div`,yn,[(w(!0),j(R,null,D(se(t),(e,t)=>(w(),j(`span`,{key:t,class:`px-1.5 py-0.5 rounded text-xs font-medium text-white`,style:O({backgroundColor:H(he)(String(t)).color})},C(ce(String(t)))+` ×`+C(e),5))),128))]),A(`div`,bn,C(H(me)(new Date(t.createdAt).getTime())),1)]),N(l,{severity:t.usedInWave?`success`:`info`,value:t.usedInWave?e.$t(`components.training_submissions.status_trained`):e.$t(`components.training_submissions.status_pool`),class:`shrink-0`},null,8,[`severity`,`value`]),Ce((w(),I(g,{severity:`danger`,text:``,rounded:``,class:`cui-icon-sm shrink-0`,loading:H(te).isPending.value&&H(ne)===t.id,onClick:e=>ue(t.id)},{icon:S(()=>[N(ee,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[_,e.$t(`components.training_submissions.delete`),void 0,{left:!0}]])]))),128)),H(ie)?(w(),j(`div`,xn,[N(le,{class:`w-5 h-5 text-primary`})])):H(f)?(w(),j(`div`,{key:1,ref_key:`loadMoreRef`,ref:ae,class:`h-px`},null,512)):B(``,!0)],64)):(w(),j(`div`,mn,[N(s,{class:`w-10 h-10 text-muted`}),A(`span`,hn,C(e.$t(`components.training_submissions.empty`)),1)]))])}}}),Cn={desktop:{maxWidth:`720px`,width:`90vw`}},wn={class:`flex flex-col h-full min-h-0`},Tn={key:0,class:`page-title`},En={class:`font-semibold text-xl truncate`},Dn={class:`flex gap-2 mb-4`},$={key:1,class:`cui-card h-auto! shrink-0 px-3 py-2 mb-4 flex items-center gap-3`},On={class:`flex-1 min-w-0`},kn={class:`text-sm`},An={class:`flex-1 text-sm`},jn={key:2,class:`cui-card h-auto! shrink-0 px-3 py-2 mb-4 flex items-center gap-3`},Mn={class:`flex-1 text-sm`},Nn={class:`p-3`},Pn={key:1,class:`flex h-full flex-col items-center justify-center w-full gap-4 py-16`},Fn={class:`text-muted text-sm text-center max-w-md`},In={class:`relative flex-1 min-h-0 overflow-hidden bg-black/5 dark:bg-black/30`},Ln={class:`absolute top-1.5 left-1.5 flex flex-wrap gap-1`},Rn={key:0,class:`absolute bottom-1.5 left-1.5`},zn={key:1,class:`absolute top-1.5 right-1.5 dark-mode`},Bn={class:`flex items-center justify-between gap-2`},Vn={class:`flex items-center gap-2 min-w-0`},Hn={class:`min-w-0`},Un={class:`font-medium truncate`},Wn={class:`text-xs text-muted`},Gn=40,Kn=d(V({__name:`Training`,setup(o){let s=new ae,l=new st,{t:u,te:re}=ee(),d=de(),m=le(),{smBreakpoint:ue}=x(),y=l.getCandidatesQuery(),b=l.getSettingsQuery(),ge=l.patchCandidateMutation(),_e=l.deleteCandidateMutation(),ve=l.patchSettingsMutation(),ye=l.submitCandidatesMutation(),E=_t(),{data:be}=s.getCamerasQuery({page:1,pageSize:-1}),k=M(``),we=te(`cui-training-status-filter`,`all`),F=M(Gn),Ee=T(`statusMenuRef`),De=T(`cameraMenuRef`),Oe=T(`settingsMenuRef`),Ae=T(`loadMoreRef`),V=T(`scrollRef`),{y:Re}=ne(V),ze=z(()=>({gridTemplateColumns:`repeat(auto-fill, minmax(${ue.value?`220px`:`260px`}, 1fr))`})),qe=z(()=>{let e=[...new Set((y.data.value??[]).map(e=>Q(e.cameraId)))].sort((e,t)=>e.localeCompare(t));return[{key:`all`,label:u(`views.training.all_cameras`),active:k.value===``,onClick:()=>{k.value=``}},...e.map(e=>({key:e,label:e,active:k.value===e,onClick:()=>{k.value=e}}))]}),Je=z(()=>[{key:`collect`,label:u(`views.training.collection_enabled`),description:u(`views.training.collection_hint`),toggle:!0,toggleState:b.data.value?.enabled??!0,onClick:()=>{Tt(!(b.data.value?.enabled??!0))}}]),Xe=z(()=>{let e=k.value.trim().toLowerCase();return e?(y.data.value??[]).filter(t=>Q(t.cameraId).toLowerCase().includes(e)):y.data.value??[]}),W=z(()=>we.value===`all`?Xe.value:Xe.value.filter(e=>e.status===we.value)),Qe=z(()=>{let e={all:Xe.value.length,new:0,verified:0};for(let t of Xe.value)e[t.status]++;return e}),$e=z(()=>[`all`,`new`,`verified`].map(e=>({key:e,label:u(`views.training.status_${e}`),badge:String(Qe.value[e]),active:we.value===e,onClick:()=>{we.value=e}}))),tt=z(()=>we.value!==`all`||k.value.trim()!==``),nt=z(()=>W.value.slice(0,F.value)),rt=z(()=>W.value.length>nt.value.length),G=z(()=>(y.data.value??[]).filter(e=>at(e)).length),K=z(()=>E.submitProgress.value?E.submitProgress.value:G.value>0?{active:!0,total:G.value,done:0,failed:0}:null),it=z(()=>W.value.filter(e=>!at(e)));function at(e){return e.upload===`queued`||e.upload===`uploading`}let{selectionMode:q,selectedIds:ot,allSelected:ct,bulkBusy:J,enterSelectionMode:lt,exitSelectionMode:ut,toggleSelectAll:X,toggleSelection:dt}=p(it,e=>e.id),ft=z(()=>[...ot.value].filter(e=>y.data.value?.find(t=>t.id===e)?.status===`verified`)),Z=z(()=>Xe.value.filter(e=>e.status===`verified`&&!at(e)).map(e=>e.id));function Q(e){return be.value?.result?.find(t=>t._id===e)?.name??e}function pt(e){return fe(`/api/training/candidates/${e}/image`)??``}function mt(e){let t=`components.training_editor.labels.${e}`;return re(t)?u(t):e}function ht(e){let t={};for(let n of e.boxes)t[n.label]=(t[n.label]??0)+1;return t}function gt(e){return e===`verified`?`success`:`info`}function vt(){F.value+=Gn}function yt(e){if(!at(e)){if(q.value){dt(e.id);return}bt(e)}}function bt(e){d.openComponentDialog(ln,{data:{title:u(`views.training.title`),cancelText:u(`components.form.button.remove`),confirmText:u(`components.training_editor.verify`),cancelButtonProps:{severity:`danger`},contentProps:{candidates:W.value.map(e=>({...e})),startId:e.id,cameraName:Q,imageUrl:pt,onSave:async(e,t,n)=>{await ge.mutateAsync({id:e,patch:{boxes:t,status:n}})},onDelete:async e=>{await _e.mutateAsync(e)}}},dialogSize:Y})}function xt(){d.openComponentDialog(Sn,{data:{title:u(`views.training.submissions`),hideConfirmButton:!0,cancelText:u(`components.form.button.close`),contentProps:{}},dialogSize:Cn})}function St(e){e.length&&!ye.isPending.value&&d.openTextDialog({data:{title:u(`components.dialog.title.confirm`),contentText:u(`views.training.submit_confirm`,{count:e.length}),confirmText:u(`views.training.submit`)},onConfirm:async()=>{try{await ye.mutateAsync(e),ut()}catch(e){m.add({severity:`error`,detail:e?.message??String(e),life:8e3})}}})}function Ct(){let e=[...ot.value];e.length&&!J.value&&d.openTextDialog({data:{title:u(`components.dialog.title.confirm`),contentText:u(`views.training.delete_selected_confirm`,{count:e.length}),confirmText:u(`components.form.button.remove`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{J.value=!0;try{for(let t of e)await _e.mutateAsync(t);ut(),m.add({severity:`success`,detail:u(`views.training.delete_selected_done`,{count:e.length}),life:5e3})}catch(e){m.add({severity:`error`,detail:e?.message??String(e),life:5e3})}finally{J.value=!1}}})}async function wt(e){await _e.mutateAsync(e.id)}async function Tt(e){await ve.mutateAsync({enabled:e})}xe([k,we],()=>{F.value=Gn}),c(Ae,([e])=>{e?.isIntersecting&&vt()}),E.connect();let Et=E.onCandidatesChanged(()=>{y.refetch()});return Te(()=>{Et()}),(o,s)=>{let c=Ge,l=t,ee=f,te=He,ne=je,re=e,d=Me,p=Ze,m=Ne,ae=Le,le=Fe,de=Ye,fe=Ke,b=oe,ge=U,_e=Ue,x=We,ve=Ie,T=Ve,be=i,xe=v,M=h,F=Pe,Te=Be,z=r,Qe=a,G=ie,it=ce,st=n;return w(),j(`div`,wn,[H(ue)?B(``,!0):(w(),j(`h1`,Tn,C(o.$t(`views.training.title`)),1)),N(ee,{position:`left`},{default:S(()=>[N(l,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:s[0]||=e=>o.$router.push(`/menu`)},{icon:S(()=>[N(c,{class:`w-6 h-6`})]),_:1})]),_:1}),N(ee,{position:`center`},{default:S(()=>[A(`span`,En,C(o.$t(`views.training.title`)),1)]),_:1}),A(`div`,Dn,[N(le,{class:`flex-1`},{default:S(()=>[N(d,{class:`flex-1`},{default:S(()=>[N(ne,null,{default:S(()=>[N(te,{class:`w-4 h-4`})]),_:1}),N(re,{modelValue:H(k),"onUpdate:modelValue":s[1]||=e=>ke(k)?k.value=e:null,placeholder:H(u)(`views.training.search`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),_:1}),N(m,null,{default:S(()=>[N(l,{severity:`secondary`,text:``,class:Se(H(we)===`all`?`text-color`:`text-primary`),onClick:s[2]||=e=>H(Ee)?.toggleMenu(e)},{icon:S(()=>[N(p,{class:`w-4 h-4`})]),_:1},8,[`class`])]),_:1}),N(m,null,{default:S(()=>[N(l,{severity:`secondary`,text:``,class:`text-color`,onClick:s[3]||=e=>H(De)?.toggleMenu(e)},{icon:S(()=>[N(ae,{class:Se([`w-4 h-4 transform transition-transform duration-300`,{"rotate-180":H(De)?.isOpen}])},null,8,[`class`])]),_:1})]),_:1})]),_:1}),Ce((w(),I(l,{severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:xt},{icon:S(()=>[N(de,{class:`w-4.5 h-4.5`})]),_:1})),[[st,{value:o.$t(`views.training.submissions`)},void 0,{left:!0}]]),Ce((w(),I(l,{severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:s[4]||=e=>H(Oe)?.toggleMenu(e)},{icon:S(()=>[N(fe,{class:`w-4.5 h-4.5`})]),_:1})),[[st,{value:o.$t(`views.training.collection`)},void 0,{left:!0}]])]),H(K)?(w(),j(`div`,$,[H(K).active?(w(),j(R,{key:0},[N(b,{class:`w-4 h-4 text-primary shrink-0`}),A(`div`,On,[A(`div`,kn,C(o.$t(`views.training.upload_progress`,{done:H(K).done+H(K).failed,total:H(K).total})),1),N(ge,{value:H(K).total?Math.round((H(K).done+H(K).failed)/H(K).total*100):0,"show-value":!1,style:{height:`6px`},class:`mt-1.5`},null,8,[`value`])])],64)):(w(),j(R,{key:1},[H(K).failed?(w(),I(_e,{key:0,class:`w-5 h-5 text-red-500 shrink-0`})):(w(),I(x,{key:1,class:`w-5 h-5 text-green-500 shrink-0`})),A(`span`,An,[P(C(o.$t(`views.training.submit_done`,H(K).done)),1),H(K).failed?(w(),j(R,{key:0},[P(` · `+C(o.$t(`views.training.upload_failed_summary`,{count:H(K).failed})),1)],64)):B(``,!0)]),N(l,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-sm shrink-0`,onClick:s[5]||=e=>H(E).dismissProgress()},{icon:S(()=>[N(ve,{class:`w-4 h-4`})]),_:1})],64))])):H(Xe).length&&!H(Z).length?(w(),j(`div`,jn,[N(T,{class:`w-5 h-5 text-primary shrink-0`}),A(`span`,Mn,C(o.$t(`views.training.verify_hint`)),1)])):B(``,!0),A(`div`,{ref_key:`scrollRef`,ref:V,class:`flex-1 min-h-0 overflow-y-auto overscroll-contain`},[H(y).isLoading.value&&!H(y).data.value?(w(),j(`div`,{key:0,class:`grid w-full gap-3 p-px`,style:O(H(ze))},[(w(),j(R,null,D(8,e=>A(`div`,{key:e,class:`cui-card overflow-hidden`},[N(be,{class:`aspect-video`,width:`100%`,height:`100%`}),A(`div`,Nn,[N(be,{height:`14px`,width:`70%`,class:`mb-1`}),N(be,{height:`12px`,width:`40%`})])])),64))],4)):H(W).length===0?(w(),j(`div`,Pn,[N(xe,{class:`w-12 h-12 text-muted`}),A(`span`,Fn,C(o.$t(H(tt)?`views.training.no_matches`:`views.training.no_candidates`)),1)])):(w(),j(R,{key:2},[A(`div`,{class:`grid w-full gap-3 p-px`,style:O(H(ze))},[(w(!0),j(R,null,D(H(nt),e=>(w(),I(Qe,{key:e.id,class:`cui-card cui-training-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=>yt(e)},{header:S(()=>[A(`div`,In,[N(M,{class:`absolute inset-0`,src:pt(e.id),alt:Q(e.cameraId),"image-container-class":`w-full h-full`,"image-style":{objectFit:`cover`}},null,8,[`src`,`alt`]),A(`div`,Ln,[(w(!0),j(R,null,D(ht(e),(e,t)=>(w(),j(`span`,{key:t,class:`px-1.5 py-0.5 rounded text-xs font-medium text-white`,style:O({backgroundColor:H(he)(String(t)).color})},C(mt(String(t)))+` ×`+C(e),5))),128))]),e.upload?(w(),j(`div`,Rn,[e.upload===`failed`?Ce((w(),I(F,{key:0,severity:`danger`,value:o.$t(`views.training.upload_failed`)},null,8,[`value`])),[[st,e.uploadError,void 0,{top:!0}]]):e.upload===`uploading`?(w(),I(F,{key:1,severity:`info`,value:o.$t(`views.training.upload_uploading`)},null,8,[`value`])):(w(),I(F,{key:2,severity:`secondary`,value:o.$t(`views.training.upload_queued`)},null,8,[`value`]))])):B(``,!0),!H(q)&&!at(e)?(w(),j(`div`,zn,[Ce((w(),I(l,{severity:`secondary`,rounded:``,size:`small`,class:`cui-icon-sm text-white`,onClick:L(t=>wt(e),[`stop`])},{icon:S(()=>[N(Te,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[st,o.$t(`views.training.delete_candidate`),void 0,{top:!0}]])])):B(``,!0)])]),content:S(()=>[A(`div`,Bn,[A(`div`,Vn,[H(q)&&!at(e)?(w(),I(z,{key:0,"model-value":H(ot).has(e.id),binary:``,size:`small`,onClick:s[6]||=L(()=>{},[`stop`]),"onUpdate:modelValue":t=>H(dt)(e.id)},null,8,[`model-value`,`onUpdate:modelValue`])):B(``,!0),A(`div`,Hn,[A(`div`,Un,C(Q(e.cameraId)),1),A(`div`,Wn,C(H(me)(e.createdAt)),1)])]),N(F,{severity:gt(e.status),value:o.$t(`views.training.status_${e.status}`)},null,8,[`severity`,`value`])])]),_:2},1032,[`onClick`]))),128))],4),H(rt)?(w(),j(`div`,{key:0,ref_key:`loadMoreRef`,ref:Ae,class:`h-px`},null,512)):B(``,!0)],64))],512),H(W).length||H(q)?(w(),I(it,{key:3,"force-visible":H(q),"scroll-y":H(Re)},{default:S(()=>[H(q)?(w(),j(R,{key:1},[N(G,{grouped:``,"tooltip-props":{value:o.$t(`components.form.tooltip.cancel_selection`)},"button-props":{severity:`secondary`},icon:H(Ie),"icon-props":{width:`100%`,height:`100%`},onClick:H(ut)},null,8,[`tooltip-props`,`icon`,`onClick`]),N(G,{grouped:``,"tooltip-props":{value:H(ct)?o.$t(`views.training.deselect_all`):o.$t(`views.training.select_all`)},"button-props":{severity:H(ct)?`primary`:`secondary`},icon:H(_),"icon-props":{width:`100%`,height:`100%`},onClick:H(X)},null,8,[`tooltip-props`,`button-props`,`icon`,`onClick`]),N(G,{grouped:``,"tooltip-props":{value:o.$t(`views.training.submit_selected`)},"button-props":{disabled:!H(ft).length||H(ye).isPending.value},icon:H(et),"icon-props":{width:`100%`,height:`100%`},onClick:s[8]||=e=>St(H(ft))},null,8,[`tooltip-props`,`button-props`,`icon`]),N(G,{grouped:``,"tooltip-props":{value:o.$t(`views.training.delete_selected`)},"button-props":{severity:`danger`,disabled:!H(ot).size||H(J)},icon:H(g),"icon-props":{width:`100%`,height:`100%`},onClick:Ct},null,8,[`tooltip-props`,`button-props`,`icon`])],64)):(w(),j(R,{key:0},[N(G,{grouped:``,"tooltip-props":{value:o.$t(`views.training.select`)},"button-props":{severity:`secondary`},icon:H(se),"icon-props":{width:`100%`,height:`100%`},onClick:H(lt)},null,8,[`tooltip-props`,`icon`,`onClick`]),N(G,{grouped:``,"tooltip-props":{value:H(Z).length?o.$t(`views.training.submit_ready`,H(Z).length):o.$t(`views.training.submit_disabled`)},"button-props":{class:`text-white`,disabled:!H(Z).length||H(ye).isPending.value},icon:H(et),"icon-props":{width:`26px`,height:`26px`},onClick:s[7]||=e=>St(H(Z))},null,8,[`tooltip-props`,`button-props`,`icon`])],64))]),_:1},8,[`force-visible`,`scroll-y`])):B(``,!0),N(pe,{ref_key:`statusMenuRef`,ref:Ee,items:H($e),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`]),N(pe,{ref_key:`cameraMenuRef`,ref:De,items:H(qe),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`]),N(pe,{ref_key:`settingsMenuRef`,ref:Oe,items:H(Je),"auto-hide":!1,popover:{pt:{root:{class:`w-[22rem]`},content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}}),[[`__scopeId`,`data-v-5b04f6ed`]]);export{Kn as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CuiMarkdownContent-Do04YgHe.js","./CuiMarkdownContent-qOPm3VEi.js","./vendor-Df81FCJz.js","./rolldown-runtime-C0FnF6B9.js","./vendor-markdown-DTWiWKBj.js","./vendor-markdown-DtOhvyRx.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{Ht as e,Jt as t,Vt as n,Z as r,sr as i}from"./vendor-cameraui-GmMRyJ2R.js";import{H as a,ct as o,lt as s,zn as c}from"./api-CLazgL-g.js";import{$n as l,Cr as u,Ht as d,In as f,Pn as p,Rn as m,br as ee,cn as h,dn as g,dr as _,er as v,gn as y,hn as b,ln as x,rn as S,sn as C,sr as w,un as T,vn as E,yr as D}from"./vendor-Df81FCJz.js";import{p as O}from"./vendor-core-BeAannbA.js";import{B as k}from"./vendor-primevue-Zx6t06A4.js";import{o as A}from"./server-BDRUGj61.js";import{t as te}from"./check-circle-BU-KNgPB.js";import{t as ne}from"./alert-circle-B-JCMbb9.js";import{t as j}from"./refresh-CO4F18Je.js";import{t as re}from"./check-circle-outline-BsxzAMed.js";import{c as M}from"./plugins-2JLUEMYc.js";import{t as N}from"./information-outline-ChOM9qgI.js";import{t as P}from"./back-filled-CJoz7Gkl.js";import{t as F}from"./updates-F-veEP1I.js";var I={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function L(e,t){return f(),g(`svg`,I,[...t[0]||=[h(`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=w({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(),g(`svg`,z,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M13 18v-8l3.5 3.5l1.42-1.42L12 6.16l-5.92 5.92L7.5 13.5L11 10v8zM12 2a10 10 0 0 1 10 10a10 10 0 0 1-10 10A10 10 0 0 1 2 12A10 10 0 0 1 12 2`},null,-1)]])}var ie=w({name:`mdi-arrow-up-circle`,render:B}),V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return f(),g(`svg`,V,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M13 18h-2v-8l-3.5 3.5l-1.42-1.42L12 6.16l5.92 5.92l-1.42 1.42L13 10zM12 2a10 10 0 0 1 10 10a10 10 0 0 1-10 10A10 10 0 0 1 2 12A10 10 0 0 1 12 2m0 2a8 8 0 0 0-8 8a8 8 0 0 0 8 8a8 8 0 0 0 8-8a8 8 0 0 0-8-8`},null,-1)]])}var ae=w({name:`mdi-arrow-up-circle-outline`,render: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=E({__name:`UpdateChangelog`,props:{kind:{},name:{},version:{}},setup(e){let t=s(()=>d(()=>import(`./CuiMarkdownContent-Do04YgHe.js`),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)),r=e,i=_(``),a=_(!0);return p(async()=>{let e=new AbortController;try{r.kind===`plugin`?i.value=await M({pluginName:r.name,query:r.version?{pluginversion:r.version}:void 0,signal:e.signal}):i.value=await A({version:r.version??`latest`,signal:e.signal})}catch{i.value=``}finally{a.value=!1}}),(e,r)=>{let o=n;return f(),g(`div`,U,[h(`h3`,W,u(e.$t(`components.form.label.changelog`)),1),D(a)?(f(),g(`div`,G,[y(o,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):D(i)?(f(),x(D(t),{key:1,content:D(i)},null,8,[`content`])):(f(),g(`span`,K,u(e.$t(`views.updates.no_changelog`)),1))])}}}),J={key:0,class:`flex items-center justify-between`},oe={class:`page-title`},Y={key:1,class:`w-full flex items-center justify-center py-16`},se={key:2,class:`flex flex-col gap-6`},ce={key:0,class:`flex items-center gap-4`},le={class:`flex flex-col field-switch-gap min-w-0 flex-1`},ue={class:`text-sm font-bold text-color`},de={key:1,class:`flex items-center gap-4`},fe={class:`flex flex-col field-switch-gap min-w-0 flex-1`},pe={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=E({__name:`Updates`,setup(s){let{t:d}=i(),_=o(),{smBreakpoint:w}=c(),E=F(),{status:A,runActive:M,cancelRequested:I,isChecking:L,checkedAt:z,runTotal:B,runDone:V,pendingCount:H,updatingItem:U,restartingItem:W,serverBusy:G,busy:K,allUpToDate:X,serverPending:Z}=O(E),Se=C(()=>[{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:E.itemsOf(e.kind)})).filter(e=>e.items.length>0)),Q=C(()=>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){_.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:()=>E.updateItem(e.id)})}return p(()=>{E.connect()}),(i,o)=>{let s=j,c=e,d=P,p=a,_=n,C=k,O=re,F=ae,z=r,q=te,Te=ne,Ee=N,De=ie,Oe=R,$=t;return f(),g(`div`,null,[D(w)?T(``,!0):(f(),g(`div`,J,[h(`h1`,oe,u(i.$t(`views.updates.title`)),1),v((f(),x(c,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-lg relative z-2`,loading:D(L),disabled:D(K),onClick:o[0]||=e=>D(E).refresh()},{icon:l(()=>[y(s,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`disabled`])),[[$,{value:i.$t(`views.updates.check_now`)},void 0,{bottom:!0}]])])),y(p,{position:`left`},{default:l(()=>[y(c,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:o[1]||=e=>i.$router.push(`/menu`)},{icon:l(()=>[y(d,{class:`w-6 h-6`})]),_:1})]),_:1}),y(p,{position:`right`},{default:l(()=>[y(c,{severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,loading:D(L),disabled:D(K),onClick:o[2]||=e=>D(E).refresh()},{icon:l(()=>[y(s,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`disabled`])]),_:1}),D(A)?(f(),g(`div`,se,[y(z,{class:`cui-card`},{content:l(()=>[D(M)?(f(),g(`div`,ce,[y(_,{class:`w-[26px] h-[26px] m-0 shrink-0`,"stroke-width":`5`}),h(`div`,le,[h(`span`,ue,u(D(U)?i.$t(`views.updates.run_updating`,{name:D(U).name}):D(W)?i.$t(`connection.restarting`):i.$t(`views.updates.run_preparing`)),1),y(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[b(u(i.$t(`views.updates.run_progress`,{done:D(V),total:D(B)}))+` `,1),D(Z)?(f(),g(S,{key:0},[b(` · `+u(i.$t(`views.updates.run_server_last`)),1)],64)):T(``,!0)]),_:1})]),y(c,{severity:`secondary`,class:`cui-button-medium shrink-0`,disabled:D(I),label:D(I)?i.$t(`views.updates.cancelling`):i.$t(`components.form.button.cancel`),onClick:o[3]||=e=>D(E).cancelRun()},null,8,[`disabled`,`label`])])):D(X)?(f(),g(`div`,de,[y(O,{class:`w-7 h-7 shrink-0 text-success`}),h(`div`,fe,[h(`span`,pe,u(i.$t(`views.updates.all_up_to_date`)),1),y(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[b(u(i.$t(`views.updates.checked_at`,{time:D(Q)})),1)]),_:1})])])):(f(),g(`div`,me,[y(F,{class:`w-7 h-7 shrink-0 text-primary`}),h(`div`,he,[h(`span`,ge,u(i.$t(`views.updates.pending_count`,{count:D(H)})),1),y(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:l(()=>[b(u(D(Z)?i.$t(`views.updates.summary_server_hint`):i.$t(`views.updates.checked_at`,{time:D(Q)})),1)]),_:1})]),y(c,{class:`cui-button-medium shrink-0 ml-auto`,disabled:D(K),label:i.$t(`views.updates.update_all`),onClick:o[4]||=e=>D(E).updateAll()},null,8,[`disabled`,`label`])]))]),_:1}),(f(!0),g(S,null,m(D(Se),e=>(f(),g(`div`,{key:e.kind},[h(`span`,_e,u(e.title),1),y(z,{class:`cui-card`},{content:l(()=>[h(`div`,ve,[(f(!0),g(S,null,m(e.items,(e,t)=>(f(),g(`div`,{key:e.id,class:ee([`flex items-center gap-4 py-3`,{"border-t border-surface":t>0}])},[e.status===`updating`||e.status===`restarting`?(f(),x(_,{key:0,class:`w-[22px] h-[22px] m-0 shrink-0`,"stroke-width":`5`})):e.status===`success`||e.status===`uptodate`?(f(),x(q,{key:1,class:`w-[22px] h-[22px] shrink-0 text-success`})):e.status===`error`?(f(),x(Te,{key:2,class:`w-[22px] h-[22px] shrink-0 text-red-500`})):e.status===`blocked`?(f(),x(Ee,{key:3,class:`w-[22px] h-[22px] shrink-0 text-muted`})):(f(),x(De,{key:4,class:`w-[22px] h-[22px] shrink-0 text-primary`})),h(`div`,ye,[h(`span`,be,u(e.name),1),e.packageName?(f(),g(`span`,xe,u(e.packageName),1)):T(``,!0),y(C,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint truncate`},{default:l(()=>[e.status===`error`?(f(),g(S,{key:0},[b(u(e.error),1)],64)):e.status===`restarting`?(f(),g(S,{key:1},[b(u(i.$t(`connection.restarting`)),1)],64)):e.status===`blocked`?(f(),g(S,{key:2},[b(u(Ce(e)),1)],64)):e.status===`uptodate`?(f(),g(S,{key:3},[b(`v`+u(e.installedVersion)+` · `+u(i.$t(`views.updates.up_to_date`)),1)],64)):e.status===`success`?(f(),g(S,{key:4},[b(u(i.$t(`views.updates.updated_to`,{version:e.latestVersion})),1)],64)):(f(),g(S,{key:5},[b(`v`+u(e.installedVersion)+` → v`+u(e.latestVersion),1)],64))]),_:2},1024)]),e.status===`pending`||e.status===`error`?(f(),g(S,{key:5},[v((f(),x(c,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md shrink-0`,onClick:t=>we(e)},{icon:l(()=>[y(Oe,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:i.$t(`components.form.label.changelog`)},void 0,{top:!0}]]),y(c,{severity:`secondary`,outlined:``,class:`cui-button-medium shrink-0`,disabled:e.kind===`server`?D(K):D(M)||D(G),label:e.status===`error`?i.$t(`views.updates.retry`):i.$t(`components.form.button.update`),onClick:t=>D(E).updateItem(e.id)},null,8,[`disabled`,`label`,`onClick`])],64)):T(``,!0)],2))),128))])]),_:2},1024)]))),128))])):(f(),g(`div`,Y,[y(_,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]))])}}});export{X as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{B as e,Ht as t,Vt as n,Z as r,sr as i}from"./vendor-cameraui-GmMRyJ2R.js";import{Dr as a,Fn as o,H as s,It as c,R as ee,Rr as l,_t as te,ct as u,gr as ne,gt as re,i as d,pr as ie,zn as f}from"./api-CLazgL-g.js";import{$n as p,An as ae,Cr as m,Fn as h,In as g,On as oe,Xn as _,cn as v,dn as y,dr as b,gn as x,hn as S,ln as C,lr as w,nr as T,or as E,rn as se,sn as D,un as O,vn as k,yr as A}from"./vendor-Df81FCJz.js";import{B as ce,C as le,M as ue,R as de,l as j,q as fe,v as pe,z as me}from"./vendor-primevue-Zx6t06A4.js";import{t as he}from"./api-CKbL5jC7.js";import{t as ge}from"./pencil-outline-D-GmPf8M.js";import{t as _e}from"./plugins-2JLUEMYc.js";import{t as ve}from"./CuiDataTable-BFIhx1D3.js";import{t as ye}from"./back-filled-CJoz7Gkl.js";import{r as be,t as xe}from"./CuiChartTable-BYrIX7LV.js";import{n as Se,t as Ce}from"./updates-F-veEP1I.js";var M={class:`flex flex-col gap-6 w-full`},N={class:`flex flex-col gap-2`},we={for:`workerName`,class:`cui-label`},Te={class:`flex flex-col gap-2`},Ee={for:`workerServerAddresses`,class:`cui-label`},De=k({__name:`EditWorker`,props:{currentName:{},addresses:{},serverAddresses:{}},setup(t,{expose:n}){let r=t,i=b(r.currentName),a=b([...r.serverAddresses]),o=D(()=>{let e=r.serverAddresses.filter(e=>!r.addresses.some(t=>t.address===e));return[...r.addresses,...e.map(e=>({address:e}))]});return n({onConfirm:async()=>{let e=i.value.trim();return e?{name:e,serverAddresses:a.value}:null}}),(t,n)=>{let r=e,s=j,c=ce;return g(),y(`div`,M,[v(`div`,N,[v(`label`,we,m(t.$t(`views.workers.name`)),1),x(r,{id:`workerName`,modelValue:A(i),"onUpdate:modelValue":n[0]||=e=>E(i)?i.value=e:null,class:`w-full`,autofocus:``},null,8,[`modelValue`])]),v(`div`,Te,[v(`label`,Ee,m(t.$t(`components.form.label.server_addresses`)),1),x(s,{modelValue:A(a),"onUpdate:modelValue":n[1]||=e=>E(a)?a.value=e:null,"input-id":`workerServerAddresses`,options:A(o),"max-selected-labels":2,"show-toggle-all":!1,"show-clear":``,"option-label":`address`,"option-value":`address`,display:`chip`,class:`w-full`},null,8,[`modelValue`,`options`]),x(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:p(()=>[S(m(t.$t(`views.workers.server_addresses_hint`)),1)]),_:1})])])}}}),P=w({workers:[],workerHistory:{}}),F=null,I=null;function Oe(e){let t=P.workers.findIndex(t=>t.agentId===e.agentId);if(t!==-1){let n=[...P.workers];n[t]=e,P.workers=n}else P.workers=[...P.workers,e];let n=P.workerHistory[e.agentId]??[];P.workerHistory={...P.workerHistory,[e.agentId]:[...n,e].slice(-30)}}async function ke(){if(I?.ready.value)try{P.workers=await I.request(`get-workers`)}catch{}}async function Ae(){if(I?.ready.value)try{P.workerHistory=await I.request(`get-worker-history`)}catch{}}async function L(){await Promise.all([ke(),Ae()])}function R(){return I||(F=T(!0),F.run(()=>{let e=a(`/workers`);I=e,e.on(`worker-update`,e=>Oe(e)),e.on(`worker-removed`,({agentId:e})=>{P.workers=P.workers.filter(t=>t.agentId!==e);let t={...P.workerHistory};delete t[e],P.workerHistory=t}),e.onReady(()=>{L()})}),I)}function je(){function e(){R()}function t(){}return{isConnected:D(()=>I?.connected.value??!1),workers:D(()=>P.workers),workerHistory:D(()=>P.workerHistory),connect:e,disconnect:t,loadAll:L}}var Me={key:0,class:`page-title`},Ne={key:1,class:`w-full h-full flex items-center justify-center`},Pe={key:2,class:`flex flex-col w-full gap-6`},Fe={class:`card-title`},Ie={class:`flex flex-col gap-6`},Le={class:`flex items-center gap-4`},Re={class:`flex flex-col field-switch-gap`},ze={class:`cui-label-switch`},Be={class:`flex flex-col field-gap`},Ve={for:`master-address`,class:`cui-label`},He={class:`flex flex-col field-gap`},Ue={for:`leaf-port`,class:`cui-label`},We={class:`flex flex-row items-end justify-end`},Ge={key:0},Ke={class:`card-title`},qe={class:`flex flex-col items-center justify-center gap-4 py-6`},Je={class:`text-muted text-sm`},Ye={key:1},Xe={class:`card-title`},Ze={class:`text-sm block mb-6`},Qe={class:`text-muted text-sm`},$e={class:`font-bold text-color text-sm`},et={key:2},tt={class:`card-title`},nt={class:`text-sm block mb-6`},rt={class:`text-muted text-sm`},it={class:`flex flex-col`},at={class:`font-bold text-color text-sm`},ot={key:0,class:`text-muted text-xs`},st={key:3},ct={class:`card-title`},lt={class:`flex flex-col gap-6`},ut={class:`text-sm`},dt={class:`flex flex-col field-gap`},ft={class:`cui-label`},pt={class:`flex flex-col field-gap`},mt={class:`flex flex-row items-center justify-between`},ht={class:`cui-label`},gt={class:`pairing-snippet`},_t={class:`flex flex-row items-end justify-end`},z=o(k({__name:`Workers`,setup(a){let{t:o}=i(),{smBreakpoint:w}=f(),T=u(),k=Ce(),j=l(),M=je(),{workers:N,workerHistory:we,isConnected:Te}=M,Ee=new he,P=new c,F=new _e,I=new Se,{data:Oe,isLoading:ke}=P.getCamerasQuery(b({page:1,pageSize:999})),{data:Ae,isLoading:L}=F.getPluginsQuery(b({page:1,pageSize:999})),{data:R}=I.getConfigQuery(),{mutateAsync:z,isPending:vt}=I.patchConfigQuery(),{mutateAsync:yt}=I.assignCameraQuery(),{mutateAsync:bt}=I.unassignCameraQuery(),{mutateAsync:xt}=I.restartWorkerQuery(),{mutateAsync:St}=I.updateWorkerQuery(),{mutateAsync:Ct,isPending:wt}=I.createPairingQuery(),{mutateAsync:Tt}=I.removeWorkerQuery(),{mutateAsync:Et}=I.assignPluginQuery(),{mutateAsync:Dt}=I.unassignPluginQuery(),{mutateAsync:Ot}=I.patchWorkerQuery(),{data:kt}=Ee.apiInfoQuery(),At={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm font-semibold`}}},jt=b(!1),B=b([]),V=b([]),H=b([]),U=b(new Set),W=b(new Set),G=b(null),K=b(``),q=b(7422),Mt=!1,J=new Map,Nt=D(()=>Oe.value?.result??[]),Pt=D(()=>Ae.value?.result??[]),Y=D(()=>R.value?.enabled??!1),Ft=D(()=>(R.value?.suggestedAddresses??[]).map(e=>({label:e,value:e}))),X=D(()=>q.value!==(R.value?.port??7422)),It=D(()=>K.value!==(R.value?.address??``)||X.value),Lt=D(()=>new Set(N.value.map(e=>e.agentId))),Z=D(()=>k.targetServerVersion??kt.value?.version),Rt=D(()=>G.value?Math.max(0,Math.round((G.value.expiresAt-Date.now())/6e4)):0),zt=D(()=>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=D(()=>[{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?o(`views.workers.update_failed`,{error:e.update.error}):e.update?.updating?o(`views.workers.updating`):e.versionMismatch?o(`views.workers.version_mismatch`,{version:e.version||`?`}):o(`views.workers.online`):o(`views.workers.offline`)}},{type:`category`,field:`name`,name:o(`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:o(`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:o(`views.workers.platform`),asChip:!0,columnProps:{headerClass:`min-w-40`,class:`min-w-40`}},{type:`category`,field:e=>e.pid?.toString()??`—`,name:o(`views.workers.pid`),columnProps:{headerClass:`min-w-20`,class:`min-w-20`}},{type:`category`,field:e=>e.cpuLoad===void 0?`—`:`${e.cpuLoad}%`,name:o(`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:o(`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:ge,buttonProps:{severity:`secondary`},tooltip:()=>o(`views.workers.edit_worker`),action:e=>Ht(e)},{icon:ie,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:be,buttonProps:{severity:`secondary`},loading:e=>B.value.includes(e.name),disabled:e=>!e.online,tooltip:()=>o(`views.workers.restart_worker`),action:e=>Gt(e.name,e.agentId)},{icon:ee,buttonProps:{severity:`danger`},loading:e=>V.value.includes(e.agentId),tooltip:()=>o(`views.workers.remove_worker`),action:e=>rn(e)}]}]),Vt=D(()=>{let e=we.value;return N.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){let t=e.serverAddresses??[];T.openComponentDialog(De,{data:{title:o(`views.workers.edit_worker`),confirmText:o(`views.workers.save`),contentProps:{currentName:e.name,addresses:e.addresses??[],serverAddresses:t}},onConfirm:async n=>{if(!n)return;let r=n.name!==e.name,i=n.serverAddresses.length!==t.length||n.serverAddresses.some(e=>!t.includes(e));(r||i)&&await Ot({agentId:e.agentId,name:r?n.name:void 0,serverAddresses:i?n.serverAddresses:void 0})}})}function Ut(e){return e.update?.updating?o(`views.workers.updating`):Z.value?o(`views.workers.update_worker`,{version:Z.value}):o(`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 N.value){let n=t.online?t.name:`${t.name} (${o(`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 N.value){let r=Jt(e,n),i=n.online?``:` (${o(`views.workers.offline`).toLowerCase()})`,a=r?``:` — ${o(`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=R.value?.suggestedAddresses?.[0]??``,!K.value)){T.openTextDialog({data:{title:o(`views.workers.enable_workers`),contentText:o(`views.workers.address_required`),confirmText:o(`views.workers.ok`)}});return}try{await z(e?{enabled:!0,address:K.value,port:q.value}:{enabled:!1})}catch{}}async function nn(){try{await z({address:K.value,port:q.value})}catch{}}function rn(e){T.openTextDialog({data:{title:o(`views.workers.remove_worker`),confirmText:o(`views.workers.remove`),contentText:o(`views.workers.remove_worker_confirm`,{name:e.name}),confirmButtonProps:{severity:`danger`}},dialogSize:{desktop:{width:`auto`,maxWidth:`560px`,maxHeight:`90vh`}},onConfirm:async()=>{V.value.push(e.agentId);try{await Tt(e.agentId)}finally{V.value=V.value.filter(t=>t!==e.agentId)}}})}return ae(async()=>{M.connect(),k.connect(),await oe(),M.loadAll(),jt.value=!0}),_(R,e=>{e&&(K.value=e.address,q.value=e.port)},{immediate:!0}),_(N,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),j.add({severity:`error`,summary:t.name,detail:o(`views.workers.update_failed`,{error:e}),life:6e3}))}}),h(()=>{M.disconnect()}),(i,a)=>{let o=ye,c=t,ee=s,l=n,u=ce,ie=fe,f=ue,ae=pe,h=r,oe=xe,_=ne,b=le,T=ve,D=e,k=te,j=de,he=me;return g(),y(`div`,null,[A(w)?O(``,!0):(g(),y(`h1`,Me,m(i.$t(`views.workers.title`)),1)),x(ee,{position:`left`},{default:p(()=>[x(c,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:a[0]||=e=>i.$router.push(`/menu`)},{icon:p(()=>[x(o,{class:`w-6 h-6`})]),_:1})]),_:1}),!A(jt)||!A(Te)?(g(),y(`div`,Ne,[x(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(g(),y(`div`,Pe,[v(`div`,null,[v(`span`,Fe,m(i.$t(`views.workers.configuration`)),1),x(h,{class:`cui-card`},{content:p(()=>[v(`div`,Ie,[v(`div`,Le,[v(`div`,Re,[v(`label`,ze,m(i.$t(`views.workers.enable_workers`)),1),x(u,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:p(()=>[S(m(i.$t(`views.workers.enable_workers_description`)),1)]),_:1})]),x(ie,{"model-value":A(Y),disabled:A(vt),class:`ml-auto shrink-0`,"onUpdate:modelValue":tn},null,8,[`model-value`,`disabled`])]),A(Y)?(g(),y(se,{key:0},[v(`div`,Be,[v(`label`,Ve,m(i.$t(`views.workers.master_address`)),1),x(f,{modelValue:A(K),"onUpdate:modelValue":a[1]||=e=>E(K)?K.value=e:null,"input-id":`master-address`,options:A(Ft),editable:``,"option-label":`label`,"option-value":`value`,placeholder:i.$t(`views.workers.master_address_placeholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`]),x(u,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:p(()=>[S(m(i.$t(`views.workers.master_address_hint`)),1)]),_:1})]),v(`div`,He,[v(`label`,Ue,m(i.$t(`views.workers.leaf_port`)),1),x(ae,{modelValue:A(q),"onUpdate:modelValue":a[2]||=e=>E(q)?q.value=e:null,"input-id":`leaf-port`,min:1024,max:65535,"use-grouping":!1,class:`w-full`},null,8,[`modelValue`]),A(X)&&(A(R)?.pairedWorkers??0)>0?(g(),C(u,{key:0,severity:`warn`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:p(()=>[S(m(i.$t(`views.workers.port_change_warning`)),1)]),_:1})):O(``,!0)]),v(`div`,We,[x(c,{class:`cui-button-medium`,label:i.$t(`views.workers.save`),loading:A(vt),disabled:!A(It),onClick:nn},null,8,[`label`,`loading`,`disabled`])])],64)):O(``,!0)])]),_:1})]),A(Y)?(g(),y(`div`,Ge,[v(`span`,Ke,m(i.$t(`views.workers.workers`)),1),A(N).length?(g(),C(oe,{key:0,items:A(N),headers:A(Bt),"chart-data":A(Vt)},null,8,[`items`,`headers`,`chart-data`])):(g(),C(h,{key:1,class:`cui-card`,pt:{root:{class:`h-full`}}},{content:p(()=>[v(`div`,qe,[x(_,{class:`w-12 h-12 text-muted`}),v(`span`,Je,m(i.$t(`views.workers.no_workers`)),1)])]),_:1}))])):O(``,!0),A(Y)&&A(N).length?(g(),y(`div`,Ye,[v(`span`,Xe,m(i.$t(`views.workers.camera_assignments`)),1),x(h,{class:`cui-card`},{content:p(()=>[v(`span`,Ze,m(i.$t(`views.workers.camera_assignments_description`)),1),x(T,{value:A(Nt),loading:A(ke),pt:At,"striped-rows":``,class:`w-full`},{loading:p(()=>[x(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:p(()=>[v(`span`,Qe,m(i.$t(`views.workers.no_cameras`)),1)]),default:p(()=>[x(b,{field:`name`,header:i.$t(`views.workers.camera`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:p(({data:e})=>[v(`span`,$e,m(e.name),1)]),_:1},8,[`header`]),x(b,{header:i.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:p(({data:e})=>[x(f,{"model-value":Q(e.workerAgentId),options:Kt(),"option-label":`label`,"option-value":`value`,placeholder:i.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:$(e._id),disabled:$(e._id),"onUpdate:modelValue":t=>$t(e,t)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})])):O(``,!0),A(Y)&&A(N).length?(g(),y(`div`,et,[v(`span`,tt,m(i.$t(`views.workers.plugin_assignments`)),1),x(h,{class:`cui-card`},{content:p(()=>[v(`span`,nt,m(i.$t(`views.workers.plugin_assignments_description`)),1),x(T,{value:A(Pt),loading:A(L),pt:At,"striped-rows":``,class:`w-full`},{loading:p(()=>[x(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:p(()=>[v(`span`,rt,m(i.$t(`views.workers.no_plugins`)),1)]),default:p(()=>[x(b,{field:`displayName`,header:i.$t(`views.workers.plugin`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:p(({data:e})=>[v(`div`,it,[v(`span`,at,m(e.displayName),1),Yt(e)?(g(),y(`span`,ot,m(Yt(e)),1)):O(``,!0)])]),_:1},8,[`header`]),x(b,{header:i.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:p(({data:e})=>[x(f,{"model-value":Q(e.workerAgentId),options:Xt(e),"option-label":`label`,"option-value":`value`,"option-disabled":`disabled`,placeholder:i.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:Zt(e.pluginName),disabled:Zt(e.pluginName),"onUpdate:modelValue":t=>Qt(e,t)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})])):O(``,!0),A(Y)?(g(),y(`div`,st,[v(`span`,ct,m(i.$t(`views.workers.pair_worker`)),1),x(h,{class:`cui-card`},{content:p(()=>[v(`div`,lt,[v(`span`,ut,m(i.$t(`views.workers.pair_worker_description`)),1),A(G)?(g(),y(se,{key:0},[v(`div`,dt,[v(`label`,ft,m(i.$t(`views.workers.pairing_code`)),1),x(he,null,{default:p(()=>[x(D,{"model-value":A(G).code,readonly:``,type:`text`},null,8,[`model-value`]),x(j,null,{default:p(()=>[x(k,{"action-text":i.$t(`views.workers.copied`),icon:A(re),"button-props":{severity:`secondary`,text:!0},onAction:a[3]||=e=>A(d)(A(G).code)},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),x(u,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:p(()=>[S(m(i.$t(`views.workers.pairing_expires`,{minutes:A(Rt)})),1)]),_:1})]),v(`div`,pt,[v(`div`,mt,[v(`label`,ht,m(i.$t(`views.workers.pairing_snippet`)),1),x(k,{"action-text":i.$t(`views.workers.copied`),icon:A(re),"button-props":{severity:`secondary`,text:!0},onAction:a[4]||=e=>A(d)(A(zt))},null,8,[`action-text`,`icon`])]),v(`pre`,gt,m(A(zt)),1),x(u,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:p(()=>[S(m(i.$t(`views.workers.pairing_snippet_hint`)),1)]),_:1})])],64)):O(``,!0),v(`div`,_t,[x(c,{class:`cui-button-medium`,label:i.$t(`views.workers.generate_code`),loading:A(wt),onClick:en},null,8,[`label`,`loading`])])])]),_:1})])):O(``,!0)]))])}}}),[[`__scopeId`,`data-v-1316570a`]]);export{z as default};
|