@camera.ui/server 2.1.14-beta.3 → 2.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/interface/assets/{404-Ct2rp3W6.js → 404-DRo8zW0F.js} +1 -1
- package/dist/interface/assets/{About-BkrFfbam.js → About-DMjE0Qte.js} +1 -1
- package/dist/interface/assets/{Automation-D2PHM9TZ.js → Automation-BLolxsX8.js} +3 -3
- package/dist/interface/assets/{AutomationImport-DbRJF8i2.js → AutomationImport-C_rR9kDq.js} +2 -2
- package/dist/interface/assets/{AutomationStore-D-PBrft2.js → AutomationStore-whk_TeCG.js} +2 -2
- package/dist/interface/assets/{AutomationStoreDetail-RU-UXz0W.js → AutomationStoreDetail-BDDgg3zY.js} +2 -2
- package/dist/interface/assets/{Automations-D-AAcPfb.js → Automations-sEIWIfdE.js} +2 -2
- package/dist/interface/assets/{Camera-Bz5NfM2e.js → Camera-l1DApD8b.js} +2 -2
- package/dist/interface/assets/{CameraConsole-_v6lLT9V.js → CameraConsole-CP_kwVq7.js} +1 -1
- package/dist/interface/assets/{Cameras-BICfDnxO.js → Cameras-Bp6P5eQC.js} +1 -1
- package/dist/interface/assets/{Camview-CKX9B9Ak.js → Camview-CWS3VJ1A.js} +1 -1
- package/dist/interface/assets/{CertificateUpload-CWt_CAt6.js → CertificateUpload-CA2PrWb3.js} +1 -1
- package/dist/interface/assets/{Config-CKn4Gc_s.js → Config-C02ndytC.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-BpZrhaAg.js → ConfigActionCameraControl-BODp6yd4.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-D-Rn2YP6.js → ConfigActionDelay-ChQOPeXL.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-DzoBcypZ.js → ConfigActionHttp-BVeQKfLN.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-DHBsjlY-.js → ConfigActionImageInput-B99__kdP.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-DBssl5vL.js → ConfigActionMqtt-D595Lo5y.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-nDKENsVa.js → ConfigActionNotification-DxzLPmUf.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-Gd955Nu4.js → ConfigActionNotificationControl-Bp4yWebz.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-CPlUnJPX.js → ConfigActionOutput-Di3KaQ_P.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-DMT0GG9J.js → ConfigActionPlugin-B7vbDV9n.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-B9qfwZPK.js → ConfigActionSensor-Qj0c8MZq.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-DmzC7Ka8.js → ConfigActionSnapshot-159QrEMJ.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-BcTGZbYR.js → ConfigActionVariable-Bodvejrx.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-C-0FNq8c.js → ConfigConditionIfElse-BMI_mgi3.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-DoOyDkd8.js → ConfigConditionSensorState-DkwjHr31.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-DonNSgEC.js → ConfigConditionSwitch-ZlqOfRQE.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-b05J39ya.js → ConfigConditionTime-B2igg9Tb.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-DbKeWPpA.js → ConfigSensorValueInput-DMnkNDC_.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-DvoA49uo.js → ConfigTriggerDetection-C_ujxraC.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-CZRFnbWY.js → ConfigTriggerGeofence-DnYSaLPb.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerManual-DYDhaI_A.js → ConfigTriggerManual-BVIiZfOj.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-CkClS0me.js → ConfigTriggerMqtt-B7Tf1jOh.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-Co2A9pH7.js → ConfigTriggerSchedule-CcvA02N3.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-B6KlmsnV.js → ConfigTriggerSensor-CHCDeFmR.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-CC-NtLwh.js → ConfigTriggerSystem-0SeQnHSX.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-CPjRwtA-.js → ConfigTriggerWebhook-t0tFjZ7V.js} +1 -1
- package/dist/interface/assets/{Console-BbdPBqEC.js → Console-B3xhLOhl.js} +1 -1
- package/dist/interface/assets/{CuiAutomationRunsDialog-DoPIIX-T.js → CuiAutomationRunsDialog-hZJsv95Y.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-B6X4pbeR.js → CuiBottomSheet-Cv_fwvYu.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-epGdNqA8.js +1 -0
- package/dist/interface/assets/{CuiCameraPipCard-BlZJUCJP.js → CuiCameraPipCard-Bm6wjm6h.js} +1 -1
- package/dist/interface/assets/{CuiCameraRecordings-BvQ_6Elk.js → CuiCameraRecordings-4LLV-U85.js} +1 -1
- package/dist/interface/assets/{CuiCameraShares-CGYScB2u.js → CuiCameraShares-DqmX3koT.js} +1 -1
- package/dist/interface/assets/CuiCameraTable-CfyXLqkh.js +1 -0
- package/dist/interface/assets/{CuiCameraTable-Cm-wfsDL.js → CuiCameraTable-CkAeMqcZ.js} +1 -1
- package/dist/interface/assets/{CuiChartTable-CKP8f68c.js → CuiChartTable-CZXvn_Iy.js} +1 -1
- package/dist/interface/assets/{CuiConsole-BWrpJYcX.js → CuiConsole-CW8Q43cq.js} +1 -1
- package/dist/interface/assets/{CuiDataTable-BozSktV7.js → CuiDataTable-cN03N7lr.js} +1 -1
- package/dist/interface/assets/{CuiLightControl-DRNXOigw.js → CuiLightControl-CA8MAVex.js} +1 -1
- package/dist/interface/assets/{CuiList-DRkSKm6_.js → CuiList-BI488Ne9.js} +1 -1
- package/dist/interface/assets/CuiMarkdownContent-BXUJahQp.js +1 -0
- package/dist/interface/assets/{CuiMarkdownContent-gJ8gvmYA.js → CuiMarkdownContent-Diua-pVD.js} +1 -1
- package/dist/interface/assets/{CuiPluginCard-DQLIw-q8.js → CuiPluginCard-Bj6cUIJ0.js} +2 -2
- package/dist/interface/assets/{CuiPluginCategoryChip-CcKK1e-h.js → CuiPluginCategoryChip-5YBKOVmo.js} +1 -1
- package/dist/interface/assets/{CuiPluginOAuthButton-Bbh4geGP.js → CuiPluginOAuthButton-BmdfXNce.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-UJafoYxB.js → CuiPluginTrustBadge-BFpziu4f.js} +1 -1
- package/dist/interface/assets/{CuiQRCode-gqnAR_Zp.js → CuiQRCode-CiWTLo9T.js} +1 -1
- package/dist/interface/assets/{CuiSchema-Bhs017IB.js → CuiSchema-DntSkCO2.js} +1 -1
- package/dist/interface/assets/{CuiTopNavbarItem-C-7LPPKD.js → CuiTopNavbarItem-DuzCbIZ8.js} +1 -1
- package/dist/interface/assets/{Faces-BfBHLOZg.js → Faces-Bea5pIop.js} +1 -1
- package/dist/interface/assets/{FirstSteps-zHSDaE1p.js → FirstSteps-BNbQsYHq.js} +1 -1
- package/dist/interface/assets/{Floorplan-BlT1vOq0.js → Floorplan-D9zKFQ2q.js} +1 -1
- package/dist/interface/assets/{Instances-BNylwtFA.js → Instances-DBphCwLn.js} +1 -1
- package/dist/interface/assets/{Logs-Bh8kvHG-.js → Logs-Bjyi3BKP.js} +1 -1
- package/dist/interface/assets/{Menu-BDdiFqwe.js → Menu-BQDo_rxR.js} +1 -1
- package/dist/interface/assets/{Metrics-dqXxkjt9.js → Metrics-Dvnil66d.js} +1 -1
- package/dist/interface/assets/{OAuthDeviceFlow-BRTodx33.js → OAuthDeviceFlow-C-a76FaQ.js} +1 -1
- package/dist/interface/assets/{Plugin-BZZ9P2-2.js → Plugin-1ZS-dcRt.js} +1 -1
- package/dist/interface/assets/{PluginConsole-DxxCx7q1.js → PluginConsole-B5A04A2x.js} +1 -1
- package/dist/interface/assets/{PluginDetail-l_l3WOqM.js → PluginDetail-SCj7WYL6.js} +2 -2
- package/dist/interface/assets/{PluginSchema-D0stZt2c.js → PluginSchema-BJEOq6im.js} +1 -1
- package/dist/interface/assets/{PluginSearch-lqGiQjP4.js → PluginSearch-CHeix3n8.js} +2 -2
- package/dist/interface/assets/PluginSearch-CcjGzS5R.js +1 -0
- package/dist/interface/assets/{PluginUpdateProgress-CUUVf_wg.js → PluginUpdateProgress-BZ-OtZet.js} +1 -1
- package/dist/interface/assets/{Plugins-Y634pLhv.js → Plugins-DS-NZusx.js} +1 -1
- package/dist/interface/assets/{Recordings-Ct6GmMEP.js → Recordings-Bqb2uV7R.js} +1 -1
- package/dist/interface/assets/{SensorEdit-DnPyIBu5.js → SensorEdit-CQagiAww.js} +1 -1
- package/dist/interface/assets/{SensorHistory-Bwmg24QZ.js → SensorHistory-DIMTRYRa.js} +1 -1
- package/dist/interface/assets/{Sensors-BaMYFgjD.js → Sensors-DU0MBnV1.js} +2 -2
- package/dist/interface/assets/{Settings-DulVBel0.js → Settings-Dn-TJCtd.js} +1 -1
- package/dist/interface/assets/SettingsAccount-CLclTO2m.js +1 -0
- package/dist/interface/assets/{SettingsAccount-CL2RTnFz.js → SettingsAccount-Q2sigi3a.js} +1 -1
- package/dist/interface/assets/SettingsAppearance-Bo61ZncS.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-cq1t3BEj.js → SettingsAppearance-NpsVIJUO.js} +1 -1
- package/dist/interface/assets/{SettingsBackup-21a3QmN1.js → SettingsBackup-D1NER4RI.js} +1 -1
- package/dist/interface/assets/{SettingsList-dO_4W9uY.js → SettingsList-BKyyC2_M.js} +1 -1
- package/dist/interface/assets/{SettingsMqtt-CAxcvp74.js → SettingsMqtt-14d54svj.js} +1 -1
- package/dist/interface/assets/{SettingsNotifications-C8OyC6Uo.js → SettingsNotifications-kKPcCTLM.js} +1 -1
- package/dist/interface/assets/{SettingsPermissions-BPZlOEWO.js → SettingsPermissions-r6wxjmHg.js} +1 -1
- package/dist/interface/assets/{SettingsRecordings-Boja0QZp.js → SettingsRecordings-GPy1AdjG.js} +1 -1
- package/dist/interface/assets/{SettingsRemote-Dga6BXDI.js → SettingsRemote-Da_6mcHl.js} +1 -1
- package/dist/interface/assets/{SettingsSystem-DnipKTG6.js → SettingsSystem-BpPrajwG.js} +2 -2
- package/dist/interface/assets/{SettingsUsers-Bxf1RaY3.js → SettingsUsers-CBItOJic.js} +1 -1
- package/dist/interface/assets/{Terminal-Cr3hOv8-.js → Terminal-DtvlszuP.js} +1 -1
- package/dist/interface/assets/{Updates-DiBrlchb.js → Updates-CV5MWBHg.js} +2 -2
- package/dist/interface/assets/{VariableInput-C7XFQ66c.js → VariableInput-C-f6bNmi.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-DohkCyGS.js → VariableSuggestions-B4LYkbu5.js} +1 -1
- package/dist/interface/assets/VersionsHandler-Cxxcwt9W.js +7 -0
- package/dist/interface/assets/{VirtualSensorCreate-9X6C1NR1.js → VirtualSensorCreate-CrGmWsI7.js} +1 -1
- package/dist/interface/assets/{Workers-D5OtbF4f.js → Workers-DaHj_0te.js} +1 -1
- package/dist/interface/assets/{account-BW_r05fC.js → account-BD2MtsdK.js} +1 -1
- package/dist/interface/assets/{alert-circle-We_nDFAy.js → alert-circle-CDCxdnIi.js} +1 -1
- package/dist/interface/assets/{alert-outline-DtiCgufF.js → alert-outline-E6GK9c5n.js} +1 -1
- package/dist/interface/assets/{api-SOlhy6R4.css → api-BTWXbCPQ.css} +1 -1
- package/dist/interface/assets/{api-ZL-_Y0-o.js → api-CD4zuPhg.js} +1 -1
- package/dist/interface/assets/api-CdT8ZD-n.js +4 -0
- package/dist/interface/assets/{arrow-left-V1y_rwzT.js → arrow-left-3p85-F5N.js} +1 -1
- package/dist/interface/assets/{auth-CUXeNcmI.js → auth-W2HVbsrF.js} +1 -1
- package/dist/interface/assets/{automations-Bz9Wo-Xf.js → automations-CY5xtQCF.js} +1 -1
- package/dist/interface/assets/{back-filled-MAIFvJqE.js → back-filled-CE63214a.js} +1 -1
- package/dist/interface/assets/{bell-ring-DBCDVZQy.js → bell-ring-CGVdWMCy.js} +1 -1
- package/dist/interface/assets/{brain-Bqf50oqB.js → brain-DqTk5Zyq.js} +1 -1
- package/dist/interface/assets/{cameraSources-BpaS7lCe.js → cameraSources-BSFgVwUz.js} +1 -1
- package/dist/interface/assets/{cctv-Tng3HqLa.js → cctv-Dh6i5n3w.js} +1 -1
- package/dist/interface/assets/{check-circle-DNTQ812v.js → check-circle-B4u2U1O6.js} +1 -1
- package/dist/interface/assets/{chevron-down-DqCuosKP.js → chevron-down-CA4ntUJ5.js} +1 -1
- package/dist/interface/assets/{clock-outline-DwnISu0k.js → clock-outline-D45HCnXi.js} +1 -1
- package/dist/interface/assets/{close-ChGy_BeH.js → close-BiHUNAkN.js} +1 -1
- package/dist/interface/assets/{close-circle-B9jFTQT1.js → close-circle-BRfsyoFY.js} +1 -1
- package/dist/interface/assets/{cloud-check-DABrVuto.js → cloud-check-v8fBsHY8.js} +1 -1
- package/dist/interface/assets/cloudHandoff-RfAVMcZZ.js +1 -0
- package/dist/interface/assets/{config-bmrb5S6z.js → config-DOFSd8-0.js} +1 -1
- package/dist/interface/assets/{content-copy-CsUEmnFS.js → content-copy-VcYnXV6l.js} +1 -1
- package/dist/interface/assets/{copy-CzGo5Njh.js → copy-KnN8Met6.js} +1 -1
- package/dist/interface/assets/{cube-scan-BR5la6Qx.js → cube-scan-DcvByv2J.js} +1 -1
- package/dist/interface/assets/{delete-CiJ6ng5_.js → delete-B_wgbT_W.js} +1 -1
- package/dist/interface/assets/{dist-2BkH6KaN.js → dist-CA3CfqGE.js} +1 -1
- package/dist/interface/assets/{download-CaV8-tw6.js → download-Cg8JrPGl.js} +1 -1
- package/dist/interface/assets/esm-B9CzQCu4.js +1 -0
- package/dist/interface/assets/esm-BBtiU--A.js +1 -0
- package/dist/interface/assets/esm-BW1JB7cT.js +1 -0
- package/dist/interface/assets/esm-BrTItqsO.js +1 -0
- package/dist/interface/assets/esm-C-1txZoa.js +1 -0
- package/dist/interface/assets/esm-C-e-sIcG.js +1 -0
- package/dist/interface/assets/esm-CE4Rajd0.js +1 -0
- package/dist/interface/assets/esm-Ccyy-x2Y.js +1 -0
- package/dist/interface/assets/esm-CixxvBfo.js +1 -0
- package/dist/interface/assets/esm-CkFoKPdV.js +1 -0
- package/dist/interface/assets/esm-CvZd2jWJ.js +1 -0
- package/dist/interface/assets/esm-Dhi49FLm.js +1 -0
- package/dist/interface/assets/esm-DqEbZj6J.js +1 -0
- package/dist/interface/assets/esm-tauuy5_Z.js +1 -0
- package/dist/interface/assets/{eye-off-DAhBNvxJ.js → eye-off-C-VpEYqY.js} +1 -1
- package/dist/interface/assets/{eye-off-outline-Bj1tXD9w.js → eye-off-outline-Dnsc9na3.js} +1 -1
- package/dist/interface/assets/{flowSchema-D4Ys_7rr.js → flowSchema-Bq6CskDh.js} +1 -1
- package/dist/interface/assets/{history-F0qTKQGT.js → history-DSKZX4F9.js} +1 -1
- package/dist/interface/assets/{home-DEKGoPL_.js → home-CGNmzgku.js} +1 -1
- package/dist/interface/assets/{information-outline-CQ5e79wc.js → information-outline-CdLdxg1d.js} +1 -1
- package/dist/interface/assets/{intercomService-CmFnb1sI.js → intercomService-CT_KVjly.js} +1 -1
- package/dist/interface/assets/{lan-D9PCM8iA.js → lan-Cj3DpVaf.js} +1 -1
- package/dist/interface/assets/{main-CrXBqh3b.js → main-VmsUT9aF.js} +2 -2
- package/dist/interface/assets/{microphone-CGwzrMxl.js → microphone-DGgazpZX.js} +1 -1
- package/dist/interface/assets/{minus-HH0UdIjG.js → minus-CWip8tXS.js} +1 -1
- package/dist/interface/assets/{mqtt-Cotm4qW5.js → mqtt-x7JvjSZ0.js} +1 -1
- package/dist/interface/assets/native-BMdJvE8u.js +1 -0
- package/dist/interface/assets/native-i7j7-uHJ.js +1 -0
- package/dist/interface/assets/{nodeDefinitions-a8iyp3yk.js → nodeDefinitions-CtfX1M97.js} +1 -1
- package/dist/interface/assets/{notifications-D4SOTDPx.js → notifications-B_hY7DqC.js} +1 -1
- package/dist/interface/assets/{pencil-outline-B5N-eyTy.js → pencil-outline-Pf6B58h3.js} +1 -1
- package/dist/interface/assets/plugin-lrS8bUX2.js +1 -0
- package/dist/interface/assets/{plugins-Bxyydn6v.js → plugins-V5-6e5L7.js} +1 -1
- package/dist/interface/assets/{plus-Ct9djYce.js → plus-CTpkwuud.js} +1 -1
- package/dist/interface/assets/{plus-CxnlTOHI.js → plus-TyoK27n7.js} +1 -1
- package/dist/interface/assets/{power-C-XO8yWI.js → power-BdKoekqT.js} +1 -1
- package/dist/interface/assets/{radar-8nK_pSbi.js → radar-CH2BXtex.js} +1 -1
- package/dist/interface/assets/{refresh-CygeIRWu.js → refresh-B7-CESap.js} +1 -1
- package/dist/interface/assets/{restore-D_Dq23W9.js → restore-kAL9Wrd4.js} +1 -1
- package/dist/interface/assets/{ring-resize-DsW_XYdA.js → ring-resize-DDYKCwBE.js} +1 -1
- package/dist/interface/assets/{rooms-DdSOohLs.js → rooms-iq9Ync9a.js} +1 -1
- package/dist/interface/assets/{round-alt-arrow-left-bold-2FHg8vBl.js → round-alt-arrow-left-bold-MZGO7rU3.js} +1 -1
- package/dist/interface/assets/{search-Ck7b7yvI.js → search-70mLVEz7.js} +1 -1
- package/dist/interface/assets/{sensorIcons-CtVSmjCW.js → sensorIcons-DQIyC9JL.js} +1 -1
- package/dist/interface/assets/{sensors-C4ZGeFC2.js → sensors-7R3hMa_s.js} +1 -1
- package/dist/interface/assets/{server-DWPgetQJ.js → server-CyCTaiWl.js} +1 -1
- package/dist/interface/assets/{settings-Bw6giVLH.js → settings-B7tifwXn.js} +1 -1
- package/dist/interface/assets/{source-branch-K7YOvHCE.js → source-branch-CgHfENTa.js} +1 -1
- package/dist/interface/assets/{theme-BTgw7al1.js → theme-Cc5MIK4j.js} +1 -1
- package/dist/interface/assets/{trash-2-eaKaSMof.js → trash-2-DUSJ2XLn.js} +1 -1
- package/dist/interface/assets/{trash-can-outline-_aiv_oEu.js → trash-can-outline-wuIbai1c.js} +1 -1
- package/dist/interface/assets/{trash-fill-OkxLbTTj.js → trash-fill-CKyYCHKC.js} +1 -1
- package/dist/interface/assets/{trash2-Czz-2j5D.js → trash2-BZMXAPZP.js} +1 -1
- package/dist/interface/assets/{types-DJucLQEM.js → types-Br6AbfXl.js} +1 -1
- package/dist/interface/assets/{types-sQfxKKSk.js → types-CDVUPFqE.js} +1 -1
- package/dist/interface/assets/{types-BX3Shvk-.js → types-D9iX7VVJ.js} +1 -1
- package/dist/interface/assets/{undo-RdNzlJdm.js → undo-OK_WWA5K.js} +1 -1
- package/dist/interface/assets/{ungrouped-CfLdttI0.js → ungrouped-B-_P9Nxn.js} +1 -1
- package/dist/interface/assets/{updates-DSQhfbpi.js → updates-H8lZYYSt.js} +1 -1
- package/dist/interface/assets/{upload-D_9SZvdG.js → upload-BJQKy0Z4.js} +1 -1
- package/dist/interface/assets/{upload-DCTSXaJV.js → upload-Dp1Z1JOP.js} +1 -1
- package/dist/interface/assets/{useAppVersion-Dm0wl8Ks.js → useAppVersion-DuXhWeJY.js} +1 -1
- package/dist/interface/assets/{useBackupRestore-ARFlxu4a.js → useBackupRestore-C9JlDbTt.js} +1 -1
- package/dist/interface/assets/{useCameraOptions-CkKmF0Hk.js → useCameraOptions-CZvujVuW.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-BQGKfynj.js → useLogsSocket-DW5Ll9qN.js} +1 -1
- package/dist/interface/assets/{useNavLayout-CB6pDWQI.js → useNavLayout-Ay4GP0IF.js} +1 -1
- package/dist/interface/assets/{usePermissions-CKQU5_yK.js → usePermissions-tvEa1N9y.js} +1 -1
- package/dist/interface/assets/{usePluginUpdates-DsX5Nf9S.js → usePluginUpdates-C6c7mdBo.js} +1 -1
- package/dist/interface/assets/{usePushRegistration-CR4ZsM1s.js → usePushRegistration-Cp-oFaYU.js} +2 -2
- package/dist/interface/assets/{useServerRestart-B0ux2xXZ.js → useServerRestart-F0do0_a5.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-B13lBsjn.js → useStreamStatus-Cof0SieK.js} +1 -1
- package/dist/interface/assets/{useTabSwipe-CC9fSJyW.js → useTabSwipe-CH2JsEKl.js} +1 -1
- package/dist/interface/assets/{useUpdateChannel-4932QugL.js → useUpdateChannel--yUW8uvn.js} +1 -1
- package/dist/interface/assets/{useUpdatesSocket-BYOu1jFQ.js → useUpdatesSocket-DOHvs02g.js} +1 -1
- package/dist/interface/assets/useUserOptions-CO_I7IAm.js +1 -0
- package/dist/interface/assets/{variable-CYzMRxrK.js → variable-DQYEQC2B.js} +1 -1
- package/dist/interface/assets/{vendor-cameraui-C5_h4c-5.js → vendor-cameraui-B96_CDGO.js} +1 -1
- package/dist/interface/assets/{vendor-capacitor-B-ykF6jr.js → vendor-capacitor-NWfzfsQC.js} +2 -2
- package/dist/interface/assets/{vendor-chart-C-1xJhJN.js → vendor-chart-dE6RS38u.js} +1 -1
- package/dist/interface/assets/{vendor-core-DeodbhZZ.js → vendor-core-DFWGbWRD.js} +1 -1
- package/dist/interface/assets/{vendor-dnd-onyWAbsd.js → vendor-dnd-BopggnhP.js} +1 -1
- package/dist/interface/assets/{vendor-draggabilly-B7q3Src-.js → vendor-draggabilly-Ci8TnnTO.js} +1 -1
- package/dist/interface/assets/{vendor-markdown-aj6qAoLx.js → vendor-markdown-CuuUoQv-.js} +1 -1
- package/dist/interface/assets/{vendor-AX0A8AMd.js → vendor-nVfLT5jI.js} +1 -1
- package/dist/interface/assets/{vendor-primevue-C9-jpd5L.js → vendor-primevue-uo78flP9.js} +1 -1
- package/dist/interface/assets/{vendor-vueflow-8uLknwcA.js → vendor-vueflow-BedhB9R6.js} +1 -1
- package/dist/interface/assets/web-7C8V33mW.js +1 -0
- package/dist/interface/assets/web-BY2ge2z3.js +1 -0
- package/dist/interface/assets/web-Be7M1t3d.js +1 -0
- package/dist/interface/assets/web-BgvG5te3.js +1 -0
- package/dist/interface/assets/web-BjKL51lK-BH0_-sFs.js +1 -0
- package/dist/interface/assets/web-C8Kk4oGz.js +1 -0
- package/dist/interface/assets/web-CTyRzCSS.js +1 -0
- package/dist/interface/assets/web-CUqrzL_F.js +1 -0
- package/dist/interface/assets/web-CrNXFCs3.js +1 -0
- package/dist/interface/assets/web-D7fKj4KF.js +1 -0
- package/dist/interface/assets/web-DAr7KVsu.js +1 -0
- package/dist/interface/assets/web-DiXOyiwy.js +1 -0
- package/dist/interface/assets/web-Dx3qFqYr.js +1 -0
- package/dist/interface/assets/web-FQYwBib0.js +1 -0
- package/dist/interface/assets/{webhook-CPF2kUgU.js → webhook-B9NooZUT.js} +1 -1
- package/dist/interface/assets/workbox-window.prod.es5-CubmHh5i.js +1 -0
- package/dist/interface/assets/{zoom-in-D-OIVcXF.js → zoom-in-DkOfo9Ku.js} +1 -1
- package/dist/interface/ha/{404-BJV77Tm3.js → 404-CvCsIvOn.js} +1 -1
- package/dist/interface/ha/{About-B9m7sPyi.js → About-Bqb-qrXr.js} +3 -3
- package/dist/interface/ha/{Automation-CpRTKtII.js → Automation-AiOadcvh.js} +25 -25
- package/dist/interface/ha/{AutomationImport-Cwx9PKHq.js → AutomationImport-CHs99b96.js} +6 -6
- package/dist/interface/ha/{AutomationStore-D1DJAo3Y.js → AutomationStore-yTxgRNos.js} +4 -4
- package/dist/interface/ha/{AutomationStoreDetail-BWkMk3zp.js → AutomationStoreDetail-CWB-S_Dq.js} +6 -6
- package/dist/interface/ha/{Automations-2-dpUnyN.js → Automations-ymrcS6zL.js} +3 -3
- package/dist/interface/ha/{Camera-BFQCXQ-9.js → Camera-gfUjA1cF.js} +3 -3
- package/dist/interface/ha/{CameraConsole-DN2AUzCO.js → CameraConsole-DBM_9sZD.js} +3 -3
- package/dist/interface/ha/{Cameras-Cp2tLuzn.js → Cameras-BDYtuflZ.js} +6 -6
- package/dist/interface/ha/{Camview-9-QATaMt.js → Camview-CyZW6Ccj.js} +3 -3
- package/dist/interface/ha/{Config-B7BWUVjy.js → Config-Dw11VG_z.js} +6 -6
- package/dist/interface/ha/{ConfigActionCameraControl-B4bligkf.js → ConfigActionCameraControl-SpfqepU9.js} +3 -3
- package/dist/interface/ha/{ConfigActionHttp-Ci1pT2TU.js → ConfigActionHttp-DRNiEJwf.js} +2 -2
- package/dist/interface/ha/{ConfigActionImageInput-JL7XqPlF.js → ConfigActionImageInput-BKIS7_Az.js} +1 -1
- package/dist/interface/ha/{ConfigActionMqtt-CErH-8g0.js → ConfigActionMqtt-vcKjYONr.js} +4 -4
- package/dist/interface/ha/{ConfigActionNotification-DbB5il5h.js → ConfigActionNotification-C8RqA0hp.js} +3 -3
- package/dist/interface/ha/{ConfigActionNotificationControl-BidGFW5w.js → ConfigActionNotificationControl-DxDU-1LD.js} +2 -2
- package/dist/interface/ha/{ConfigActionOutput-BbEPcSqB.js → ConfigActionOutput-Dd9tqEbp.js} +1 -1
- package/dist/interface/ha/{ConfigActionPlugin-BQUbQheX.js → ConfigActionPlugin-hZohlF2U.js} +4 -4
- package/dist/interface/ha/{ConfigActionSensor-ZwXZF672.js → ConfigActionSensor-CsTZdgpn.js} +4 -4
- package/dist/interface/ha/{ConfigActionSnapshot-CKCKSlvU.js → ConfigActionSnapshot-CVuRrZog.js} +2 -2
- package/dist/interface/ha/{ConfigActionVariable-DB-leNOV.js → ConfigActionVariable-BW0Mfwzv.js} +1 -1
- package/dist/interface/ha/{ConfigConditionIfElse-268mse2c.js → ConfigConditionIfElse-B8giXSLg.js} +3 -3
- package/dist/interface/ha/{ConfigConditionSensorState-DwPY2W53.js → ConfigConditionSensorState-SOYmnv38.js} +4 -4
- package/dist/interface/ha/{ConfigConditionSwitch-C9zW3TAK.js → ConfigConditionSwitch-DPYRsgIP.js} +3 -3
- package/dist/interface/ha/{ConfigSensorValueInput-cKpE0FZE.js → ConfigSensorValueInput-C8uDea7H.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerDetection-C0S-k9O5.js → ConfigTriggerDetection-DKrNlf4n.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerGeofence-CjmlCNj3.js → ConfigTriggerGeofence-BoKYjfEF.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerMqtt-YpTYEXuH.js → ConfigTriggerMqtt-A0druw9s.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSensor-jTkbOjQw.js → ConfigTriggerSensor-DnqfzsxM.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSystem-ChQOH5XE.js → ConfigTriggerSystem-B8JHImoF.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerWebhook--Xitqvob.js → ConfigTriggerWebhook-B34dHYln.js} +1 -1
- package/dist/interface/ha/{Console-BLBwNOGF.js → Console-vTZkA5_c.js} +2 -2
- package/dist/interface/ha/{CuiAutomationRunsDialog-DZpflYbm.js → CuiAutomationRunsDialog-D1j6QT1J.js} +2 -2
- package/dist/interface/ha/{CuiBottomSheet-x112x30L.js → CuiBottomSheet-tJqB2HMb.js} +1 -1
- package/dist/interface/ha/{CuiCameraRecordings-kyJmGt96.js → CuiCameraRecordings-CbXShYur.js} +2 -2
- package/dist/interface/ha/{CuiCameraShares-C64w7YIg.js → CuiCameraShares-fsCg_eYs.js} +2 -2
- package/dist/interface/ha/{CuiCameraTable-BcucTb-H.js → CuiCameraTable-cCH34Rqx.js} +2 -2
- package/dist/interface/ha/{CuiChartTable-HtK2jIrg.js → CuiChartTable-CMkcRmDL.js} +3 -3
- package/dist/interface/ha/{CuiConsole-B6UN73LC.js → CuiConsole-wuBto4Ht.js} +1 -1
- package/dist/interface/ha/{CuiDataTable-C06T8Rgf.js → CuiDataTable-yviddz9T.js} +1 -1
- package/dist/interface/ha/{CuiPluginCard-Ca1syMp2.js → CuiPluginCard-Dr4cFcve.js} +6 -6
- package/dist/interface/ha/{CuiPluginOAuthButton-B_kD1J7y.js → CuiPluginOAuthButton-D4M7piUp.js} +2 -2
- package/dist/interface/ha/{CuiPluginTrustBadge-BGnfwBkE.js → CuiPluginTrustBadge-CVwRbaTh.js} +1 -1
- package/dist/interface/ha/{CuiQRCode-C8afEdjI.js → CuiQRCode-CTr0g0fy.js} +2 -2
- package/dist/interface/ha/{CuiSchema-BDqA8ICl.js → CuiSchema-DtfAoLxQ.js} +2 -2
- package/dist/interface/ha/{CuiTopNavbarItem-Cowg2EeV.js → CuiTopNavbarItem-4H6Gg0Pe.js} +1 -1
- package/dist/interface/ha/{Faces-COKq1uOY.js → Faces-DSjPW-A-.js} +2 -2
- package/dist/interface/ha/{FirstSteps-B6Rpbo6X.js → FirstSteps-BK_EXlZU.js} +4 -4
- package/dist/interface/ha/{Floorplan-C7Z973FS.js → Floorplan-BWRteZjr.js} +4 -4
- package/dist/interface/ha/{Instances-D5jpC7_k.js → Instances-Dln03_o7.js} +1 -1
- package/dist/interface/ha/{Logs-BQ7844YD.js → Logs-xwh0fkZV.js} +6 -6
- package/dist/interface/ha/{Menu-BA3FMf84.js → Menu-BwzIh1vF.js} +2 -2
- package/dist/interface/ha/{Metrics-CW7eFTFq.js → Metrics-CiMXu6rz.js} +7 -7
- package/dist/interface/ha/{OAuthDeviceFlow-DY0EmFd2.js → OAuthDeviceFlow-D4IUrYub.js} +3 -3
- package/dist/interface/ha/{Plugin-CDTqk1Za.js → Plugin-CM5b1Jz4.js} +5 -5
- package/dist/interface/ha/{PluginConsole-BHPYWTQI.js → PluginConsole-BJNblZb5.js} +4 -4
- package/dist/interface/ha/{PluginDetail-CCanv1XC.js → PluginDetail--RFw88FL.js} +5 -5
- package/dist/interface/ha/{PluginSearch-CN5u42N5.js → PluginSearch-yzBxy3Zj.js} +4 -4
- package/dist/interface/ha/{PluginUpdateProgress-CYIL5ZH9.js → PluginUpdateProgress-BaYmaaE7.js} +3 -3
- package/dist/interface/ha/{Plugins-Cej_rQF0.js → Plugins-C-sU0dsj.js} +7 -7
- package/dist/interface/ha/{Recordings-CUBsiex_.js → Recordings-CXnTN85c.js} +2 -2
- package/dist/interface/ha/{SensorEdit-CHw_qb02.js → SensorEdit-ByAfduAA.js} +2 -2
- package/dist/interface/ha/{SensorHistory-CN-cU83N.js → SensorHistory-Cv1YF7qX.js} +2 -2
- package/dist/interface/ha/{Sensors-CsDHqjPN.js → Sensors-DyxXLT1C.js} +3 -3
- package/dist/interface/ha/{Settings-xYx7OlnI.js → Settings-DMBgMUpe.js} +2 -2
- package/dist/interface/ha/{SettingsAccount-CS3pzQOR.js → SettingsAccount-CiyVRy4Y.js} +4 -4
- package/dist/interface/ha/{SettingsAppearance-DJ7N-8pK.js → SettingsAppearance-BfXcGIwE.js} +3 -3
- package/dist/interface/ha/{SettingsBackup-CIa5Xieg.js → SettingsBackup-vsITZfgV.js} +2 -2
- package/dist/interface/ha/{SettingsList-B15eyCEc.js → SettingsList-BTxhjM8J.js} +1 -1
- package/dist/interface/ha/{SettingsMqtt-CAV58dIf.js → SettingsMqtt-JHf9BXbp.js} +2 -2
- package/dist/interface/ha/{SettingsNotifications-CaFA1fgA.js → SettingsNotifications-Bvay7Ob7.js} +6 -6
- package/dist/interface/ha/{SettingsRecordings-CdU1gIj-.js → SettingsRecordings-BAUAhyEd.js} +3 -3
- package/dist/interface/ha/{SettingsRemote-CfZF4rVJ.js → SettingsRemote-DAI3p-gY.js} +4 -4
- package/dist/interface/ha/{SettingsSystem-pAKtXD6a.js → SettingsSystem-D-UQqZyn.js} +7 -7
- package/dist/interface/ha/{SettingsUsers-bb02QZmu.js → SettingsUsers-D-_uCeBe.js} +3 -3
- package/dist/interface/ha/{Terminal-D8nt8rJZ.js → Terminal-BBBP74zZ.js} +2 -2
- package/dist/interface/ha/{Updates-CN1ovwX3.js → Updates-DDEAqmrt.js} +4 -4
- package/dist/interface/ha/{VariableInput-CknW9Awp.js → VariableInput-5aDKaHK6.js} +1 -1
- package/dist/interface/ha/VersionsHandler-Z5aUBicW.js +216 -0
- package/dist/interface/ha/{VirtualSensorCreate-DhYEEPoo.js → VirtualSensorCreate-DOjwBgbP.js} +1 -1
- package/dist/interface/ha/{Workers-22Qvr1uT.js → Workers-lI-ulBfQ.js} +6 -6
- package/dist/interface/ha/{api-jFJQoLDe.js → api-B-1nJvx1.js} +1 -1
- package/dist/interface/ha/{api-BqtwQvFZ.js → api-BU1ot-rQ.js} +7539 -7319
- package/dist/interface/ha/{auth-DYjwhf8n.js → auth-Wr26Jrhr.js} +1 -1
- package/dist/interface/ha/{automationBlueprint-BinFQ4tN.js → automationBlueprint-CjXCYTHX.js} +1 -1
- package/dist/interface/ha/{base-c1lsE5TW.js → base-JFhfGFcr.js} +2 -2
- package/dist/interface/ha/{base-D_LAf3cS.js → base-SuFG39qr.js} +2 -2
- package/dist/interface/ha/cameraui-cards.js +1 -1
- package/dist/interface/ha/{cards-JO0NQxtH.js → cards-DJ8I0DpS.js} +4 -4
- package/dist/interface/ha/{config-BZ6AkzPk.js → config--3c2hYeI.js} +1 -1
- package/dist/interface/ha/{dist-B7lgvbyI.js → dist-B6-R-H0I.js} +1 -1
- package/dist/interface/ha/{esm-DiBhi9zp.js → esm-B0AOriHG.js} +2 -2
- package/dist/interface/ha/{esm-CChFtwcx.js → esm-BJURq5pU.js} +4 -4
- package/dist/interface/ha/{esm-BGlkcEes.js → esm-BUN34MPG.js} +2 -2
- package/dist/interface/ha/{esm-6hnPZcZr.js → esm-Bih3VOl2.js} +1 -1
- package/dist/interface/ha/{esm-BKPZuThK.js → esm-CMQeJH3c.js} +2 -2
- package/dist/interface/ha/{esm-CvxDASXR.js → esm-CX7xaJ8m.js} +4 -4
- package/dist/interface/ha/{esm-XFPB9fYb.js → esm-CYrEjG_f.js} +2 -2
- package/dist/interface/ha/{esm-1sIZN4t7.js → esm-DHGj1GPK.js} +2 -2
- package/dist/interface/ha/{esm-BMx7MsZ_.js → esm-DIdsnkc_.js} +2 -2
- package/dist/interface/ha/{esm-CMTmAdHP.js → esm-DXHGazhG.js} +2 -2
- package/dist/interface/ha/{esm-B72ViJ7F.js → esm-Df31rl0C.js} +2 -2
- package/dist/interface/ha/{esm-CkoEL9YX.js → esm-WT4CLule.js} +2 -2
- package/dist/interface/ha/{esm-Demxl4zQ.js → esm-kzP5q0tS.js} +2 -2
- package/dist/interface/ha/{mqtt-DvoRfg48.js → mqtt-CSWN3zrE.js} +1 -1
- package/dist/interface/ha/{native-C8PbNqsJ.js → native-BVp2L4zs.js} +1 -1
- package/dist/interface/ha/{native-BaNeloQn.js → native-DpeL5PMH.js} +1 -1
- package/dist/interface/ha/{notifications-BXyPUJeI.js → notifications-B4jziVIo.js} +1 -1
- package/dist/interface/ha/{plugin-DAGqBiG_.js → plugin-l2y6Y_8_.js} +2 -2
- package/dist/interface/ha/{plugins-B7xVEI2U.js → plugins-BTBXmJqQ.js} +1 -1
- package/dist/interface/ha/{rooms-wdWj7L04.js → rooms-BxY9U6db.js} +1 -1
- package/dist/interface/ha/{server-BoeQx2s1.js → server-BxPWpMFK.js} +1 -1
- package/dist/interface/ha/{types-BLB8t9IM.js → types-D_Y5r1Yz.js} +1 -1
- package/dist/interface/ha/{ungrouped-BTlRpp_C.js → ungrouped-CpcBXTDQ.js} +1 -1
- package/dist/interface/ha/{updates-DJQ3mgFB.js → updates-Hyzkue_s.js} +5 -5
- package/dist/interface/ha/{useAppVersion-DBQHtFHV.js → useAppVersion-BME7p9Tn.js} +1 -1
- package/dist/interface/ha/{useLogsSocket-DUVEzjQv.js → useLogsSocket-9HYA1tN7.js} +1 -1
- package/dist/interface/ha/{useNavLayout-Tm6brv5T.js → useNavLayout-BP3bvHDX.js} +1 -1
- package/dist/interface/ha/{useServerRestart-qfZkaizw.js → useServerRestart-L0gugeHY.js} +1 -1
- package/dist/interface/ha/{useTabSwipe-DZZV2CAu.js → useTabSwipe-DKFPKAuu.js} +1 -1
- package/dist/interface/ha/{useUpdateChannel-CAAsjUty.js → useUpdateChannel-DgPBMvzK.js} +2 -2
- package/dist/interface/ha/{useUpdatesSocket-UVjukmiK.js → useUpdatesSocket-j4Sl2_YJ.js} +1 -1
- package/dist/interface/ha/{useUserOptions-fca_GryG.js → useUserOptions-BIVNeXD9.js} +1 -1
- package/dist/interface/ha/{web-B7Dt2zZN.js → web-BTc3X5b5.js} +2 -2
- package/dist/interface/ha/{web-BPBZBCtX.js → web-BXYQbRzG.js} +1 -1
- package/dist/interface/ha/{web-DtVT7WYt.js → web-BcNKpSQe.js} +1 -1
- package/dist/interface/ha/{web-BjKL51lK-qwJdIpM1.js → web-BjKL51lK-BaEnqwsB.js} +1 -1
- package/dist/interface/ha/{web-DqRMXrnx.js → web-C-wyOM11.js} +1 -1
- package/dist/interface/ha/{web-I7Urp4AE.js → web-CR01Y58E.js} +1 -1
- package/dist/interface/ha/{web-C01i9qI1.js → web-CyoXGIAe.js} +1 -1
- package/dist/interface/ha/{web-DxJQZCiR.js → web-D0dRLhy1.js} +2 -2
- package/dist/interface/ha/{web-aSaPk7kr.js → web-DbfBnw4i.js} +1 -1
- package/dist/interface/ha/{web-0Kyq65na.js → web-DdHWxSOZ.js} +1 -1
- package/dist/interface/ha/{web-pMey9p3Y.js → web-DhyFnSBX.js} +1 -1
- package/dist/interface/ha/{web-Cpm1-DVe.js → web-Dk8xCKUO.js} +1 -1
- package/dist/interface/ha/{web-CH3JeXWa.js → web-DyAa7xFA.js} +2 -2
- package/dist/interface/ha/{web-BNdrPSpb.js → web-_pDCYOmR.js} +1 -1
- package/dist/interface/index.html +48 -48
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +4 -4
- package/dist/server/requirements.txt +1 -1
- package/dist/server/src/api/controllers/cameras.controller.js +1 -1
- package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
- package/dist/server/src/api/routes/sensors.routes.js +1 -1
- package/dist/server/src/api/routes/sensors.routes.js.map +1 -1
- package/dist/server/src/camera/controller.js +1 -1
- package/dist/server/src/camera/controller.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-pipeline.d.ts +5 -1
- package/dist/server/src/camera/decoder/detection-pipeline.js +20 -0
- package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
- package/dist/server/src/camera/decoder/event-manager.js +8 -1
- package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
- package/dist/server/src/camera/decoder/nvr-sink.d.ts +1 -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/worker.d.ts +7 -0
- package/dist/server/src/camera/decoder/worker.js +74 -29
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/package.json +4 -4
- package/dist/interface/assets/CuiBottomSheet-CNc2pbC7.js +0 -1
- package/dist/interface/assets/CuiCameraTable-Cgm7BoLZ.js +0 -1
- package/dist/interface/assets/CuiMarkdownContent-D2bWw1GN.js +0 -1
- package/dist/interface/assets/PluginSearch-C_4Txq7k.js +0 -1
- package/dist/interface/assets/SettingsAccount-DbArOHXx.js +0 -1
- package/dist/interface/assets/SettingsAppearance-CPrCyxBA.js +0 -1
- package/dist/interface/assets/VersionsHandler-DFef44HF.js +0 -7
- package/dist/interface/assets/api-Br1U09Hq.js +0 -4
- package/dist/interface/assets/cloudHandoff-Colhf5P9.js +0 -1
- package/dist/interface/assets/esm-BbJ0evRe.js +0 -1
- package/dist/interface/assets/esm-BhHeaCLC.js +0 -1
- package/dist/interface/assets/esm-BoDnt3g2.js +0 -1
- package/dist/interface/assets/esm-BvXpx-4p.js +0 -1
- package/dist/interface/assets/esm-BvcRUTNT.js +0 -1
- package/dist/interface/assets/esm-C0UOpApX.js +0 -1
- package/dist/interface/assets/esm-C43w04L-.js +0 -1
- package/dist/interface/assets/esm-CdrLDSBm.js +0 -1
- package/dist/interface/assets/esm-Cwg8vrH-.js +0 -1
- package/dist/interface/assets/esm-DKQwb4z2.js +0 -1
- package/dist/interface/assets/esm-DcJy8m_I.js +0 -1
- package/dist/interface/assets/esm-Dp7jb0si.js +0 -1
- package/dist/interface/assets/esm-cbRd6tNR.js +0 -1
- package/dist/interface/assets/esm-iDhBQslT.js +0 -1
- package/dist/interface/assets/native-BNjvFMoD.js +0 -1
- package/dist/interface/assets/native-XKbagpr7.js +0 -1
- package/dist/interface/assets/plugin-BStPT8lW.js +0 -1
- package/dist/interface/assets/useUserOptions-7qZi1YVO.js +0 -1
- package/dist/interface/assets/web-BFaZfzEP.js +0 -1
- package/dist/interface/assets/web-BdoMdiEl.js +0 -1
- package/dist/interface/assets/web-BjKL51lK-BiZEVgwj.js +0 -1
- package/dist/interface/assets/web-Bo0giiE9.js +0 -1
- package/dist/interface/assets/web-Bq6cS9c5.js +0 -1
- package/dist/interface/assets/web-Ckkk3gWT.js +0 -1
- package/dist/interface/assets/web-CsH298dH.js +0 -1
- package/dist/interface/assets/web-Cti9cQXr.js +0 -1
- package/dist/interface/assets/web-CtlJwfNS.js +0 -1
- package/dist/interface/assets/web-DUuNw0Ig.js +0 -1
- package/dist/interface/assets/web-Dz9QrW1k.js +0 -1
- package/dist/interface/assets/web-MA3uDo37.js +0 -1
- package/dist/interface/assets/web-UiUgCX6p.js +0 -1
- package/dist/interface/assets/web-zisLysQx.js +0 -1
- package/dist/interface/assets/workbox-window.prod.es5-CocanelX.js +0 -1
- package/dist/interface/ha/VersionsHandler-DL_zS-ms.js +0 -211
|
@@ -1 +1 @@
|
|
|
1
|
-
import{wr as e}from"./vendor-cameraui-
|
|
1
|
+
import{wr as e}from"./vendor-cameraui-B96_CDGO.js";import{i as t}from"./eventLabels-BsPoPWS9.js";var n={trigger:`#22c55e`,condition:`#f59e0b`,action:`#3b82f6`,utility:`#8b5cf6`},r={mode:`drag`},i=[{key:`detectionSettings.snooze`,labelKey:`components.automation_nodes.camera_prop_snooze`,inputType:`boolean`,defaultValue:`false`},{key:`disabled`,labelKey:`components.automation_nodes.camera_prop_disabled`,inputType:`boolean`,defaultValue:`false`},{key:`recordingSettings.enabled`,labelKey:`components.automation_nodes.camera_prop_recording`,inputType:`boolean`,defaultValue:`true`},{key:`recordingSettings.mode`,labelKey:`components.automation_nodes.camera_prop_recording_mode`,inputType:`select`,options:[{labelKey:`components.automation_nodes.option_continuous`,value:`continuous`},{labelKey:`components.automation_nodes.option_event`,value:`event`},{labelKey:`components.automation_nodes.option_adhoc`,value:`adhoc`}],defaultValue:`continuous`},{key:`recordingSettings.preBuffer`,labelKey:`components.automation_nodes.camera_prop_recording_prebuffer`,inputType:`number`,min:0,max:60,step:1,defaultValue:`10`},{key:`recordingSettings.sources`,labelKey:`components.automation_nodes.camera_prop_recording_sources`,inputType:`multiselect`,options:[{labelKey:`components.automation_nodes.option_high`,value:`high`},{labelKey:`components.automation_nodes.option_mid`,value:`mid`},{labelKey:`components.automation_nodes.option_low`,value:`low`}],defaultValue:`["high","mid","low"]`},{key:`ptzAutotrack.enabled`,labelKey:`components.automation_nodes.camera_prop_ptz_autotrack`,inputType:`boolean`,defaultValue:`false`},{key:`ptzAutotrack.returnToHome`,labelKey:`components.automation_nodes.camera_prop_ptz_return_home`,inputType:`boolean`,defaultValue:`false`},{key:`ptzAutotrack.targetLabels`,labelKey:`components.automation_nodes.camera_prop_ptz_target_labels`,inputType:`multiselect`,options:e.map(e=>({labelKey:t(e),value:e})),defaultValue:`["person"]`},{key:`ptzAutotrack.minConfidence`,labelKey:`components.automation_nodes.camera_prop_ptz_min_confidence`,inputType:`number`,min:.3,max:1,step:.05,defaultValue:`0.5`},...e.map(e=>({key:`detectionSettings.object.confidences.${e}`,labelKey:`components.automation_nodes.camera_prop_object_confidence_${e}`,inputType:`number`,min:.3,max:1,step:.05,defaultValue:`0.5`})),{key:`detectionSettings.motion.timeout`,labelKey:`components.automation_nodes.camera_prop_motion_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.motion.resolution`,labelKey:`components.automation_nodes.camera_prop_motion_resolution`,inputType:`select`,options:[{labelKey:`components.automation_nodes.option_low`,value:`low`},{labelKey:`components.automation_nodes.option_medium`,value:`medium`},{labelKey:`components.automation_nodes.option_high`,value:`high`}],defaultValue:`low`},{key:`detectionSettings.audio.timeout`,labelKey:`components.automation_nodes.camera_prop_audio_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.audio.minDecibels`,labelKey:`components.automation_nodes.camera_prop_audio_min_decibels`,inputType:`number`,min:-100,max:0,defaultValue:`-40`},{key:`detectionSettings.audio.confidence`,labelKey:`components.automation_nodes.camera_prop_audio_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.7`},{key:`detectionSettings.object.suppressStatic`,labelKey:`components.automation_nodes.camera_prop_suppress_static`,inputType:`boolean`,defaultValue:`true`},{key:`detectionSettings.object.timeout`,labelKey:`components.automation_nodes.camera_prop_object_timeout`,inputType:`number`,min:10,defaultValue:`15`},{key:`detectionSettings.face.confidence`,labelKey:`components.automation_nodes.camera_prop_face_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.5`},{key:`detectionSettings.face.matchThreshold`,labelKey:`components.automation_nodes.camera_prop_face_match_threshold`,inputType:`number`,min:.3,max:.95,step:.05,defaultValue:`0.55`},{key:`detectionSettings.licensePlate.confidence`,labelKey:`components.automation_nodes.camera_prop_plate_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.3`},{key:`detectionSettings.licensePlate.ocrConfidence`,labelKey:`components.automation_nodes.camera_prop_plate_ocr_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.9`},{key:`detectionSettings.licensePlate.minLength`,labelKey:`components.automation_nodes.camera_prop_plate_min_length`,inputType:`number`,min:1,max:10,step:1,defaultValue:`4`},{key:`detectionSettings.sensor.timeout`,labelKey:`components.automation_nodes.camera_prop_sensor_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.cascadeDetection`,labelKey:`components.automation_nodes.camera_prop_cascade_detection`,inputType:`boolean`,defaultValue:`true`},{key:`detectionSettings.cascadeTimeout`,labelKey:`components.automation_nodes.camera_prop_cascade_timeout`,inputType:`number`,min:1,max:300,defaultValue:`10`},{key:`frameWorkerSettings.mainStreamAnalysis`,labelKey:`components.automation_nodes.camera_prop_main_stream_analysis`,inputType:`boolean`,defaultValue:`false`},{key:`snapshotSettings.autoRefresh`,labelKey:`components.automation_nodes.camera_prop_auto_refresh`,inputType:`boolean`,defaultValue:`false`},{key:`snapshotSettings.interval`,labelKey:`components.automation_nodes.camera_prop_snapshot_interval`,inputType:`number`,min:10,max:60,defaultValue:`60`},{key:`snapshotSettings.ttl`,labelKey:`components.automation_nodes.camera_prop_snapshot_ttl`,inputType:`number`,min:10,max:60,defaultValue:`50`}];export{n,r,i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Mn as e,in as t,rr as n,sn as r}from"./vendor-
|
|
1
|
+
import{Mn as e,in as t,rr as n,sn as r}from"./vendor-nVfLT5jI.js";var i={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function a(n,a){return e(),r(`svg`,i,[...a[0]||=[t(`path`,{fill:`currentColor`,d:`M26 20h-6v-2h6zm4 8h-6v-2h6zm-2-4h-6v-2h6z`},null,-1),t(`path`,{fill:`currentColor`,d:`M17.003 20a4.9 4.9 0 0 0-2.404-4.173L22 3l-1.73-1l-7.577 13.126a5.7 5.7 0 0 0-5.243 1.503C3.706 20.24 3.996 28.682 4.01 29.04a1 1 0 0 0 1 .96h14.991a1 1 0 0 0 .6-1.8c-3.54-2.656-3.598-8.146-3.598-8.2m-5.073-3.003A3.11 3.11 0 0 1 15.004 20c0 .038.002.208.017.469l-5.9-2.624a3.8 3.8 0 0 1 2.809-.848M15.45 28A5.2 5.2 0 0 1 14 25h-2a6.5 6.5 0 0 0 .968 3h-2.223A16.6 16.6 0 0 1 10 24H8a17.3 17.3 0 0 0 .665 4H6c.031-1.836.29-5.892 1.803-8.553l7.533 3.35A13 13 0 0 0 17.596 28Z`},null,-1)]])}var o=n({name:`carbon-clean`,render:a}),s={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function c(n,i){return e(),r(`svg`,s,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`M12 10h12.185l-3.587-3.586L22 5l6 6l-6 6l-1.402-1.415L24.182 12H12a6 6 0 0 0 0 12h8v2h-8a8 8 0 0 1 0-16`},null,-1)]])}var l=n({name:`carbon-redo`,render:c}),u={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function d(n,i){return e(),r(`svg`,u,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`m27.71 9.29l-5-5A1 1 0 0 0 22 4H6a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2V10a1 1 0 0 0-.29-.71M12 6h8v4h-8Zm8 20h-8v-8h8Zm2 0v-8a2 2 0 0 0-2-2h-8a2 2 0 0 0-2 2v8H6V6h4v4a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V6.41l4 4V26Z`},null,-1)]])}var f=n({name:`carbon-save`,render:d}),p={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function m(n,i){return e(),r(`svg`,p,[...i[0]||=[t(`path`,{fill:`currentColor`,d:`M20 10H7.815l3.587-3.586L10 5l-6 6l6 6l1.402-1.415L7.818 12H20a6 6 0 0 1 0 12h-8v2h8a8 8 0 0 0 0-16`},null,-1)]])}var h=n({name:`carbon-undo`,render:m});export{o as i,f as n,l as r,h as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Br as e,D as t,Ft as n,Gn as r,Gt as i,Ht as a,Nn as o,O as s,Ot as c,Qn as l,Wt as u,d,i as f,jn as p,l as m,m as h,q as g,r as _,t as ee,ti as te,zt as ne}from"./vendor-cameraui-C5_h4c-5.js";import{An as v,Cr as re,G as ie,J as ae,On as oe,U as se,W as ce,Y as le,at as ue,bn as de,kn as fe,s as pe,vn as me,wn as he,xn as ge}from"./api-Br1U09Hq.js";import{$t as y,An as _e,Cn as b,Fn as x,In as S,Kn as ve,Mn as C,Pn as w,Qt as T,Rn as ye,Wn as E,Xn as be,Xt as xe,Yn as D,an as O,fn as k,gr as A,hr as j,in as M,mn as N,on as P,rn as F,sn as I,sr as L,vr as R,wn as z,yn as Se,yr as B}from"./vendor-AX0A8AMd.js";import{a as Ce}from"./intercomService-CmFnb1sI.js";import{N as V}from"./vendor-primevue-C9-jpd5L.js";var we=[`src`],Te={key:2,class:`w-full h-full flex items-center justify-center bg-neutral-800/80`},Ee={class:`absolute top-0 left-0 right-0 p-2 bg-gradient-to-b from-black/80 to-transparent z-[3]`},De={class:`flex items-center gap-1.5`},Oe={class:`text-xs font-semibold text-white truncate min-w-0 flex-1`},ke={key:1,class:`text-[10px] font-semibold text-white/80 bg-black/60 px-1.5 py-0.5 rounded-md shrink-0`},Ae={class:`text-[10px] text-white/70`},je={class:`block text-[11px] text-white font-medium truncate bg-black/50 rounded-md px-2 py-0.5`},Me={class:`flex items-center gap-1 min-w-0`},Ne=[`title`],Pe={key:0,class:`flex items-center gap-0.5 shrink-0 opacity-85 group-hover:opacity-100 transition-opacity duration-200`},Fe=[`onClick`],Ie=[`src`,`alt`],Le={key:0,class:`text-[10px] text-white/60 font-medium`},Re={key:6,class:`absolute inset-0 z-[4] flex items-center justify-center pointer-events-none`},ze={key:7,class:`absolute bottom-10 left-1/2 -translate-x-1/2 z-[4] pointer-events-none`},Be={class:`text-[10px] font-semibold text-white bg-black/60 px-1.5 py-0.5 rounded-md whitespace-nowrap`,style:{"font-variant-numeric":`tabular-nums`}},Ve=24,He=30,Ue=22,We=28,Ge=8,Ke=v(N({__name:`RecordingCard`,props:{event:{},cameraName:{},camera:{},loadThumbnails:{type:Function},semanticScore:{},segIndex:{},hideSegmentBadge:{type:Boolean},selectionMode:{type:Boolean},selected:{type:Boolean},siblingActive:{type:Boolean}},emits:[`scrollToEvent`,`select`,`openTrace`],setup(r,{emit:a}){let o=r,l=a,u=Ce(),p=re(),{t:v}=e(),b=s(`@camera.ui/camera-ui-nvr`),{plugin:x}=c(`@camera.ui/camera-ui-nvr`),{icons:S}=ue(),N=b.getCachedThumbnails(o.event.id),R=N?t(N,o.event,`card`,o.segIndex).url?`loaded`:`empty`:`loading`,z=Se(_,void 0),V=E(`rootRef`),Ke=E(`previewCanvasRef`),qe=E(`footerRef`),H=L(!1),Je=se(V,()=>xt(),()=>$()),U=L(!1),W=L(N??null),G=L(R),K=L(!1),Ye=L(0),{width:Xe}=te(qe),Ze=F(()=>(b.storeVersion.value,o.event.segments?.find(e=>e?.description)?.description?.title)),Qe=F(()=>{if(o.semanticScore==null)return;let e=Math.max(0,Math.min(1,o.semanticScore));return{pct:e,label:`${(e*100).toFixed(0)}%`,color:e>=.5?`bg-green-500/80`:e>=.25?`bg-yellow-500/80`:`bg-red-400/80`}}),q=F(()=>W.value?t(W.value,o.event,`card`,o.segIndex):null),$e=F(()=>{let e=o.segIndex??q.value?.segIndex;return e===void 0?void 0:o.event.segments?.[e]}),et=F(()=>q.value?.url),tt=F(()=>q.value?.label),nt=F(()=>q.value?.type??o.event.types[0]??`motion`),rt=F(()=>{if(o.hideSegmentBadge)return;let e=o.event.segments?.length??0;return o.segIndex!==void 0&&e>1?`${o.segIndex+1}/${e}`:void 0}),J=F(()=>{let e=W.value,t=q.value?.url;if(!e||!t)return[];let n=[{url:t,label:q.value?.label,type:nt.value,crop:!1}];for(let t of ee(e,o.segIndex))n.some(e=>e.url===t.url)||n.push({url:t.url,label:t.label,type:t.type,crop:!0});if(o.segIndex===void 0)for(let t of Object.keys(e.cards??e.strips??{}).sort((e,t)=>Number(e)-Number(t))){let r=m(e.cards?.[t]??e.strips?.[t]);if(!r||n.some(e=>e.url===r))continue;let i=ie(o.event,t);n.push({url:r,label:i,type:i,crop:!1})}return n.length>1?n:[]}),it=F(()=>J.value.length>1),Y=F(()=>J.value.length?Math.min(Ye.value,J.value.length-1):0),at=F(()=>it.value?J.value[Y.value]:void 0),ot=F(()=>!!at.value?.crop),st=F(()=>at.value?.url??et.value),ct=F(()=>at.value?.label??tt.value),X=F(()=>{let e=$e.value;return(e?h(o.event,e):[...new Set(o.event.types)]).filter(e=>e!==`motion`&&e!==`audio`)}),lt=F(()=>o.cameraName??o.event.cameraId),Z=F(()=>J.value.map(e=>({url:e.url,type:e.type}))),ut=F(()=>X.value.slice(0,Q.value.icons)),Q=F(()=>{let e=Xe.value;if(!e)return{icons:2,tiles:2};let t=e-Ge;o.selectionMode&&(t-=We);let n=Z.value.length>0?52:0,r=_t(X.value.length,Math.max(0,t-n),Ve),i=X.value.length>0?Math.max(1,r):0,a=i*Ve+(i<X.value.length?Ue:0);return{icons:i,tiles:_t(Z.value.length,Math.max(0,t-a),He)}}),dt=F(()=>X.value.slice(Q.value.icons)),ft=F(()=>Z.value.slice(0,Q.value.tiles)),pt=F(()=>Z.value.length-Q.value.tiles),mt=F(()=>{let e=o.segIndex===void 0?void 0:o.event.segments?.[o.segIndex]?.firstSeen,t=new Date(e??o.event.thumbnailAt??o.event.startTime),n=new Date,r=t.toDateString()===n.toDateString(),i=t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`});return r?i:`${t.toLocaleDateString([],{month:`short`,day:`numeric`})} ${i}`}),ht=F(()=>!!(x.value&&o.event.endTime&&o.event.hasRecording!==!1)),gt=F(()=>z?H.value?v(`views.recordings.no_preview`):U.value?z.status.value===`unavailable`?v(`views.recordings.no_preview`):z.status.value===`playing`&&z.previewTimeMs.value?bt(z.previewTimeMs.value):``:``:``);function _t(e,t,n){return e===0||t<n?0:e*n<=t?e:Math.max(0,Math.floor((t-Ue)/n))}function vt(e){let t=J.value.length;t&&($(),Ye.value=(Y.value+e+t)%t)}function yt(e,t){it.value&&(t.stopPropagation(),$(),Ye.value=e)}function $(){H.value=!1,!(!z||!U.value)&&(U.value=!1,z.onHoverEnd())}function bt(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}function xt(){if(!z||Y.value>0)return;let e=Ke.value;if(!e)return;let t=d(o.event);if(o.event.hasRecording===!1||!t){H.value=!0;return}U.value=!0,z.onHoverStart(e,o.event.cameraId,o.event.id,o.event.startTime,t,o.camera?.zones?.privacy,f(o.event))}function St(){Je.blocksMouseEnter()||xt()}function Ct(){H.value=!1,z&&(U.value=!1,z.onHoverEnd())}async function wt(e=2){let n=await o.loadThumbnails(o.event.id,o.event.startTime);if(n){W.value=n;let e=t(n,o.event,`card`);G.value=e.url?`loaded`:`empty`}else if(e>0)return await new Promise(e=>setTimeout(e,500)),wt(e-1);else G.value=o.event.state===`active`?`loading`:`empty`}function Tt(){if(!Je.consumesClick()){if(o.selectionMode){l(`select`);return}l(`scrollToEvent`,$e.value?.firstSeen??ce(o.event))}}async function Et(){if(K.value)return;let e=x.value;if(!(!e?.nvrExport||!o.event.endTime)){K.value=!0;try{let t=await e.nvrExport(o.event.cameraId,o.event.startTime*1e3,o.event.endTime*1e3);await oe({url:t.url,filename:t.filename})}catch(e){u.error(`Download failed:`,e),p.add({severity:`error`,summary:v(`views.recordings.download_failed`),detail:pe(e),life:5e3})}finally{K.value=!1}}}return ve(()=>b.storeVersion.value,()=>{let e=b.getCachedThumbnails(o.event.id);e&&(W.value=e,t(e,o.event,`card`).url&&(G.value=`loaded`))}),_e(()=>{R===`loading`&&wt()}),(e,t)=>{let a=g,o=fe,s=me,c=ae,u=ne,d=le,f=de,p=ge,m=he,h=n,_=i;return C(),I(`div`,{ref_key:`rootRef`,ref:V,class:`recording-card relative group cursor-pointer`,onClick:Tt,onMouseenter:St,onMouseleave:Ct},[M(`div`,{class:A([`bg-neutral-900 w-full rounded-xl overflow-hidden relative transition-shadow duration-200`,{"ring-2 ring-inset ring-primary/70":r.siblingActive}]),style:{"aspect-ratio":`1/1`}},[j(G)===`loading`?(C(),O(a,{key:0,width:`100%`,height:`100%`,class:`rounded-xl`})):j(st)?(C(),I(y,{key:1},[j(ot)?(C(),I(`img`,{key:0,src:j(st),"aria-hidden":`true`,class:`absolute inset-0 w-full h-full object-cover blur-xl scale-110 opacity-50 pointer-events-none`},null,8,we)):P(``,!0),k(o,{src:j(st),alt:j(lt),class:`pointer-events-none w-full h-full transition-transform duration-300 group-hover:scale-105`,"image-style":{objectFit:j(ot)?`contain`:`cover`},"image-container-class":`w-full h-full`},null,8,[`src`,`alt`,`image-style`])],64)):(C(),I(`div`,Te,[(C(),O(ye(j(S)[j(nt)]??j(S).motion),{class:`w-10 h-10 text-white/20`}))])),j(z)?be((C(),I(`canvas`,{key:3,ref_key:`previewCanvasRef`,ref:Ke,class:`absolute inset-0 w-full h-full object-cover pointer-events-none z-[1]`},null,512)),[[xe,j(U)]]):P(``,!0),t[3]||=M(`div`,{class:`absolute inset-0 bg-transparent group-hover:bg-black/30 pointer-events-none transition-colors duration-200 z-[2]`},null,-1),M(`div`,Ee,[M(`div`,De,[j(Ze)?(C(),O(s,{key:0,position:`inline`})):P(``,!0),M(`p`,Oe,B(j(lt)),1),j(rt)?(C(),I(`span`,ke,B(j(rt)),1)):P(``,!0),j(Qe)?(C(),I(`span`,{key:2,class:A([`text-[10px] font-bold text-white px-1.5 py-0.5 rounded-md shrink-0`,j(Qe).color])},B(j(Qe).label),3)):P(``,!0),r.camera&&!r.selectionMode?be((C(),O(u,{key:3,rounded:``,text:``,severity:`secondary`,class:`!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80`,onClick:t[0]||=T(e=>l(`openTrace`),[`stop`]),onMouseenter:$},{icon:D(()=>[k(c,{class:`w-3 h-3 text-white`})]),_:1})),[[_,{value:e.$t(`views.recordings.open_trace`)},void 0,{left:!0}]]):P(``,!0),j(ht)&&!r.selectionMode?be((C(),O(u,{key:4,rounded:``,text:``,severity:`secondary`,loading:j(K),class:`!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80`,onClick:T(Et,[`stop`]),onMouseenter:$},{icon:D(()=>[k(d,{class:`w-3 h-3 text-white`})]),_:1},8,[`loading`])),[[_,{value:e.$t(`views.recordings.download`)},void 0,{left:!0}]]):P(``,!0)]),M(`p`,Ae,B(j(mt)),1)]),j(J).length>1?(C(),I(y,{key:4},[k(u,{rounded:``,text:``,severity:`secondary`,class:`carousel-nav !absolute left-1 top-1/2 -translate-y-1/2 z-[3] !w-7 !h-7 !p-0 bg-black/40 hover:!bg-black/60 transition-opacity duration-200`,"aria-label":e.$t(`views.recordings.prev_image`),onClick:t[1]||=T(e=>vt(-1),[`stop`]),onMouseenter:$},{icon:D(()=>[k(f,{class:`w-5 h-5 text-white`})]),_:1},8,[`aria-label`]),k(u,{rounded:``,text:``,severity:`secondary`,class:`carousel-nav !absolute right-1 top-1/2 -translate-y-1/2 z-[3] !w-7 !h-7 !p-0 bg-black/40 hover:!bg-black/60 transition-opacity duration-200`,"aria-label":e.$t(`views.recordings.next_image`),onClick:t[2]||=T(e=>vt(1),[`stop`]),onMouseenter:$},{icon:D(()=>[k(p,{class:`w-5 h-5 text-white`})]),_:1},8,[`aria-label`])],64)):P(``,!0),j(ct)?(C(),I(`div`,{key:5,class:A([`absolute left-1/2 -translate-x-1/2 z-[3] max-w-[85%] pointer-events-none transition-all duration-200`,j(gt)?`bottom-16`:`bottom-10`])},[M(`span`,je,B(j(ct)),1)],2)):P(``,!0),M(`div`,{ref_key:`footerRef`,ref:qe,class:`absolute bottom-2 left-2 right-2 flex items-center justify-between gap-2 z-[3]`},[M(`div`,Me,[r.selectionMode?(C(),I(`div`,{key:0,class:A([`w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors shrink-0`,r.selected?`bg-primary border-primary`:`bg-black/40 border-white/80`])},[r.selected?(C(),O(m,{key:0,class:`w-4 h-4 text-white`})):P(``,!0)],2)):P(``,!0),(C(!0),I(y,null,w(j(ut),e=>(C(),I(`div`,{key:e,class:`flex items-center justify-center w-5 h-5 rounded-md bg-black/60 shrink-0`},[(C(),O(ye(j(S)[e]??j(S).motion),{class:`w-3 h-3 text-white/80`}))]))),128)),j(dt).length>0?(C(),I(`span`,{key:1,title:j(dt).join(`, `),class:`text-[10px] text-white/60 font-medium shrink-0`},` +`+B(j(dt).length),9,Ne)):P(``,!0)]),j(ft).length>0||j(pt)>0?(C(),I(`div`,Pe,[(C(!0),I(y,null,w(j(ft),(e,t)=>(C(),I(`div`,{key:t,class:A([`w-7 h-7 rounded overflow-hidden border bg-neutral-800 cursor-pointer`,t===j(Y)?`border-primary/80`:`border-white/20`]),onClick:e=>yt(t,e)},[M(`img`,{src:e.url,alt:e.type,decoding:`async`,loading:`lazy`,class:`w-full h-full object-cover`},null,8,Ie)],10,Fe))),128)),j(pt)>0?(C(),I(`span`,Le,`+`+B(j(pt)),1)):P(``,!0)])):P(``,!0)],512),j(z)&&j(U)&&j(z).isLoading.value?(C(),I(`div`,Re,[k(h,{class:`w-[28px] h-[28px] m-0`,"stroke-width":`6`})])):P(``,!0),j(gt)?(C(),I(`div`,ze,[M(`span`,Be,B(j(gt)),1)])):P(``,!0)],2)],544)}}}),[[`__scopeId`,`data-v-97ad8176`]]),qe={name:`VirtualScroller`,components:{SpinnerIcon:a},extends:{name:`BaseVirtualScroller`,extends:u,provide(){return{$pcVirtualScroller:this,$parentInstance:this}},props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:`vertical`},rtl:{type:Boolean,default:!1},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},resizeDelay:{type:Number,default:10},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1},tabindex:{type:Number,default:0},inline:{type:Boolean,default:!1},step:{type:Number,default:0},appendOnly:{type:Boolean,default:!1},autoSize:{type:Boolean,default:!1},itemKey:{type:[String,Function],default:null}},style:V,beforeMount(){V.loadCSS({nonce:this.$primevueConfig?.csp?.nonce})}},inheritAttrs:!1,emits:[`update:numToleratedItems`,`scroll`,`scroll-index-change`,`lazy-load`],data(){let e=this.isBoth();return{first:e?{rows:0,cols:0}:0,last:e?{rows:0,cols:0}:0,page:e?{rows:0,cols:0}:0,numItemsInViewport:e?{rows:0,cols:0}:0,lastScrollPos:e?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,resizeTimeout:null,defaultWidth:0,defaultHeight:0,defaultContentWidth:0,defaultContentHeight:0,isRangeChanged:!1,lazyLoadState:{},resizeListener:null,initialized:!1,computed:{containerClass(){return[`p-virtualscroller`,this.class,{"p-virtualscroller-inline":this.inline,"p-virtualscroller-both p-both-scroll":this.isBoth(),"p-virtualscroller-horizontal p-horizontal-scroll":this.isHorizontal(),"p-virtualscroller-rtl":this.rtl&&this.isHorizontal()}]},contentClass(){return[`p-virtualscroller-content`,{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return[`p-virtualscroller-loader`,{"p-virtualscroller-loader-mask":!this.$slots.loader}]},loadedItems(){return this.items&&!this.d_loading?this.isBoth()?this.items.slice(this.appendOnly?0:this.first.rows,this.last.rows).map(e=>this.columns?e:e.slice(this.appendOnly?0:this.first.cols,this.last.cols)):this.isHorizontal()&&this.columns?this.items:this.items.slice(this.appendOnly?0:this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){let e=this.isBoth(),t=this.isHorizontal();if(e||t)return this.d_loading&&this.loaderDisabled?e?this.loaderArr[0]:this.loaderArr:this.columns.slice(e?this.first.cols:this.first,e?this.last.cols:this.last)}return this.columns}},watch:{numToleratedItems(e){this.d_numToleratedItems=e},loading(e,t){this.lazy&&e!==t&&e!==this.d_loading&&(this.d_loading=e)},items(e,t){(!t||t.length!==(e||[]).length)&&this.scheduleInit()},itemSize(){this.scheduleInit()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},scrollHeight(){this.scheduleInit()},scrollWidth(){this.scheduleInit()}},mounted(){this.viewInit(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0,this.lazyLoadState=this.lazyLoadState||{}},updated(){!this.initialized&&this.viewInit()},unmounted(){this.unbindResizeListener(),this.initialized=!1},methods:{resolveItemKey(e,t){let n=this.itemKey;return typeof n==`function`?n(e,t)??t:typeof n==`string`&&typeof e==`object`&&e?e[n]??t:t},viewInit(){r(this.element)&&(this.setContentEl(this.content),this.init(),this.calculateAutoSize(),this.bindResizeListener(),this.defaultWidth=p(this.element),this.defaultHeight=o(this.element),this.defaultContentWidth=p(this.content),this.defaultContentHeight=o(this.content),this.initialized=!0)},init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},scheduleInit(){this._initScheduled||(this._initScheduled=!0,Promise.resolve().then(()=>{this._initScheduled=!1,this.init(),this.calculateAutoSize()}))},isVertical(){return this.orientation===`vertical`},isHorizontal(){return this.orientation===`horizontal`},isBoth(){return this.orientation===`both`},scrollTo(e){this.element&&this.element.scrollTo(e)},scrollToIndex(e,t=`auto`){let n=this.isBoth(),r=this.isHorizontal(),i=this.rtl&&r;if(n?e.every(e=>e>-1):e>-1){let a=this.first,{scrollTop:o=0,scrollLeft:s=0}=this.element,{numToleratedItems:c}=this.calculateNumItems(),l=this.getContentPosition(),u=this.itemSize,d=(e=0,t)=>e<=t?0:e,f=(e,t,n)=>e*t+n,p=(e=0,n=0)=>{i&&(e=this.element.scrollWidth-this.element.clientWidth-e),this.scrollTo({left:e,top:n,behavior:t})},m=n?{rows:0,cols:0}:0,h=!1,g=!1;n?(m={rows:d(e[0],c[0]),cols:d(e[1],c[1])},p(f(m.cols,u[1],l.left),f(m.rows,u[0],l.top)),g=this.lastScrollPos.top!==o||this.lastScrollPos.left!==s,h=m.rows!==a.rows||m.cols!==a.cols):(m=d(e,c),r?p(f(m,u,l.left),o):p(s,f(m,u,l.top)),g=this.lastScrollPos!==(r?s:o),h=m!==a),this.isRangeChanged=h,g&&(this.first=m)}},scrollInView(e,t,n=`auto`){if(t){let r=this.isBoth(),i=this.isHorizontal();if(r?e.every(e=>e>-1):e>-1){let{first:a,viewport:o}=this.getRenderedRange(),s=(e=0,t=0)=>this.scrollTo({left:e,top:t,behavior:n}),c=t===`to-start`,l=t===`to-end`;if(c){if(r)o.first.rows-a.rows>e[0]?s(o.first.cols*this.itemSize[1],(o.first.rows-1)*this.itemSize[0]):o.first.cols-a.cols>e[1]&&s((o.first.cols-1)*this.itemSize[1],o.first.rows*this.itemSize[0]);else if(o.first-a>e){let e=(o.first-1)*this.itemSize;i?s(e,0):s(0,e)}}else if(l){if(r)o.last.rows-a.rows<=e[0]+1?s(o.first.cols*this.itemSize[1],(o.first.rows+1)*this.itemSize[0]):o.last.cols-a.cols<=e[1]+1&&s((o.first.cols+1)*this.itemSize[1],o.first.rows*this.itemSize[0]);else if(o.last-a<=e+1){let e=(o.first+1)*this.itemSize;i?s(e,0):s(0,e)}}}}else this.scrollToIndex(e,n)},getRenderedRange(){let e=(e,t)=>Math.floor(e/(t||e)),t=this.first,n=0;if(this.element){let r=this.isBoth(),i=this.isHorizontal(),{scrollTop:a,scrollLeft:o}=this.element;r?(t={rows:e(a,this.itemSize[0]),cols:e(o,this.itemSize[1])},n={rows:t.rows+this.numItemsInViewport.rows,cols:t.cols+this.numItemsInViewport.cols}):(t=e(i?o:a,this.itemSize),n=t+this.numItemsInViewport)}return{first:this.first,last:this.last,viewport:{first:t,last:n}}},calculateNumItems(){let e=this.isBoth(),t=this.isHorizontal(),n=this.itemSize,r=this.getContentPosition(),i=this.element?this.element.offsetWidth-r.left:0,a=this.element?this.element.offsetHeight-r.top:0,o=(e,t)=>Math.ceil(e/(t||e)),s=e=>Math.ceil(e/2),c=e?{rows:o(a,n[0]),cols:o(i,n[1])}:o(t?i:a,n);return{numItemsInViewport:c,numToleratedItems:this.d_numToleratedItems||(e?[s(c.rows),s(c.cols)]:s(c))}},calculateOptions(){let e=this.isBoth(),t=this.first,{numItemsInViewport:n,numToleratedItems:r}=this.calculateNumItems(),i=(e,t,n,r=!1)=>this.getLast(e+t+(e<n?2:3)*n,r),a=e?{rows:i(t.rows,n.rows,r[0]),cols:i(t.cols,n.cols,r[1],!0)}:i(t,n,r);this.last=a,this.numItemsInViewport=n,this.d_numToleratedItems=r,this.$emit(`update:numToleratedItems`,this.d_numToleratedItems),this.showLoader&&(this.loaderArr=e?Array.from({length:n.rows}).map(()=>Array.from({length:n.cols})):Array.from({length:n})),this.lazy&&Promise.resolve().then(()=>{this.lazyLoadState={first:this.step?e?{rows:0,cols:t.cols}:0:t,last:Math.min(this.step?this.step:a,this.items?.length-1||0)},this.$emit(`lazy-load`,this.lazyLoadState)})},calculateAutoSize(){this.autoSize&&!this.d_loading&&Promise.resolve().then(()=>{if(this.content){let e=this.isBoth(),t=this.isHorizontal(),n=this.isVertical();this.content.style.minHeight=this.content.style.minWidth=`auto`,this.content.style.position=`relative`,this.element.style.contain=`none`;let[r,i]=[p(this.element),o(this.element)];(e||t)&&(this.element.style.width=r<this.defaultWidth?r+`px`:this.scrollWidth||this.defaultWidth+`px`),(e||n)&&(this.element.style.height=i<this.defaultHeight?i+`px`:this.scrollHeight||this.defaultHeight+`px`),this.content.style.minHeight=this.content.style.minWidth=``,this.content.style.position=``,this.element.style.contain=``}})},getLast(e=0,t){return this.items?Math.min(t?(this.columns||this.items[0])?.length||0:this.items?.length||0,e):0},getContentPosition(){if(this.content){let e=getComputedStyle(this.content),t=parseFloat(e.paddingLeft)+Math.max(parseFloat(e.left)||0,0),n=parseFloat(e.paddingRight)+Math.max(parseFloat(e.right)||0,0),r=parseFloat(e.paddingTop)+Math.max(parseFloat(e.top)||0,0),i=parseFloat(e.paddingBottom)+Math.max(parseFloat(e.bottom)||0,0);return{left:t,right:n,top:r,bottom:i,x:t+n,y:r+i}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){let e=this.isBoth(),t=this.isHorizontal(),n=this.element.parentElement,r=this.scrollWidth||`${this.element.offsetWidth||n.offsetWidth}px`,i=this.scrollHeight||`${this.element.offsetHeight||n.offsetHeight}px`,a=(e,t)=>this.element.style[e]=t;e||t?(a(`height`,i),a(`width`,r)):a(`height`,i)}},setSpacerSize(){let e=this.items;if(e){let t=this.isBoth(),n=this.isHorizontal(),r=this.getContentPosition(),i=(e,t,n,r=0)=>this.spacerStyle={...this.spacerStyle,[`${e}`]:(t||[]).length*n+r+`px`};t?(i(`height`,e,this.itemSize[0],r.y),i(`width`,this.columns||e[1],this.itemSize[1],r.x)):n?i(`width`,this.columns||e,this.itemSize,r.x):i(`height`,e,this.itemSize,r.y)}},setContentPosition(e){if(this.content&&!this.appendOnly){let t=this.isBoth(),n=this.isHorizontal(),r=this.rtl&&n,i=e?e.first:this.first,a=(e,t)=>e*t,o=(e=0,t=0)=>{let n=r?-e:e;this.contentStyle={...this.contentStyle,transform:`translate3d(${n}px, ${t}px, 0)`}};if(t){let e=i.rows,t=i.cols,n=this.itemSize;o(a(t,n[1]),a(e,n[0]))}else{let e=i,t=this.itemSize,r=a(e,t);n?o(r,0):o(0,r)}}},onScrollPositionChange(e){let t=e.target,n=this.isBoth(),r=this.isHorizontal(),i=this.rtl&&r,a=this.getContentPosition(),o=(e,t)=>e?e>t?e-t:e:0,s=(e,t)=>Math.floor(e/(t||e)),c=o(t.scrollTop,a.top),l=o(t.scrollLeft,a.left);i&&l<0&&(l=Math.abs(l));let u=n?{rows:0,cols:0}:0,d=this.last,f=!1,p=this.lastScrollPos;if(n){let e=this.lastScrollPos.top<=c,n=this.lastScrollPos.left<=l;if(!this.appendOnly||this.appendOnly&&(e||n)){let r={rows:s(c,this.itemSize[0]),cols:s(l,this.itemSize[1])},i={rows:this.calculateTriggerIndex(r.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],e),cols:this.calculateTriggerIndex(r.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],n)};u={rows:this.calculateFirst(r.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],e),cols:this.calculateFirst(r.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],n,!0)},d={rows:this.calculateLast(r.rows,u.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:this.calculateLast(r.cols,u.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},f=u.rows!==this.first.rows||d.rows!==this.last.rows||u.cols!==this.first.cols||d.cols!==this.last.cols||this.isRangeChanged,p={top:c,left:t.scrollLeft}}}else{let e=r?l:c,t=this.lastScrollPos<=e;if(!this.appendOnly||this.appendOnly&&t){let n=s(e,this.itemSize),r=this.calculateTriggerIndex(n,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,t);u=this.calculateFirst(n,r,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,t),d=this.calculateLast(n,u,this.last,this.numItemsInViewport,this.d_numToleratedItems),f=u!==this.first||d!==this.last||this.isRangeChanged,p=e}}return{first:u,last:d,isRangeChanged:f,scrollPos:p}},calculateTriggerIndex(e,t,n,r,i,a){return e<=i?i:a?n-r-i:t+i-1},calculateFirst(e,t,n,r,i,a,o,s=!1){if(e<=a)return 0;let c=Math.max(0,o?e<t?n:e-a:e>t?n:e-2*a),l=this.getLast(c,s);return c>l?l-i:c},calculateLast(e,t,n,r,i,a=!1){let o=t+r+2*i;return e>=i&&(o+=i+1),this.getLast(o,a)},onScrollChange(e){let{first:t,last:n,isRangeChanged:r,scrollPos:i}=this.onScrollPositionChange(e);if(r){let e={first:t,last:n};if(this.setContentPosition(e),this.first=t,this.last=n,this.lastScrollPos=i,this.$emit(`scroll-index-change`,e),this.lazy&&this.isPageChanged(t)){let e={first:this.step?Math.min(this.getPageByFirst(t)*this.step,(this.items?.length||0)-this.step):t,last:Math.min(this.step?(this.getPageByFirst(t)+1)*this.step:n,this.items?.length-1||0)};(this.lazyLoadState.first!==e.first||this.lazyLoadState.last!==e.last)&&this.$emit(`lazy-load`,e),this.lazyLoadState=e}}},onScroll(e){if(this.$emit(`scroll`,e),this.delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.isPageChanged()){if(!this.d_loading&&this.showLoader){let{isRangeChanged:t}=this.onScrollPositionChange(e);(t||this.step&&this.isPageChanged())&&(this.d_loading=!0)}this.scrollTimeout=setTimeout(()=>{this.onScrollChange(e),this.d_loading&&this.showLoader&&(!this.lazy||this.loading===void 0)&&(this.d_loading=!1,this.page=this.getPageByFirst())},this.delay)}}else this.onScrollChange(e)},onResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{if(r(this.element)){let e=this.isBoth(),t=this.isVertical(),n=this.isHorizontal(),[r,i]=[p(this.element),o(this.element)],[a,s]=[r!==this.defaultWidth,i!==this.defaultHeight];(e?a||s:n?a:t&&s)&&(this.d_numToleratedItems=this.numToleratedItems,this.defaultWidth=r,this.defaultHeight=i,this.defaultContentWidth=p(this.content),this.defaultContentHeight=o(this.content),this.init())}},this.resizeDelay)},bindResizeListener(){this.resizeListener||(this.resizeListener=this.onResize.bind(this),window.addEventListener(`resize`,this.resizeListener),window.addEventListener(`orientationchange`,this.resizeListener))},unbindResizeListener(){this.resizeListener&&=(window.removeEventListener(`resize`,this.resizeListener),window.removeEventListener(`orientationchange`,this.resizeListener),null)},getOptions(e){let t=(this.items||[]).length,n=this.isBoth()?this.first.rows+e:this.first+e;return{index:n,count:t,first:n===0,last:n===t-1,even:n%2==0,odd:n%2!=0}},getLoaderOptions(e,t){let n=this.loaderArr.length;return{index:e,count:n,first:e===0,last:e===n-1,even:e%2==0,odd:e%2!=0,...t}},getPageByFirst(e){return Math.floor(((e??this.first)+this.d_numToleratedItems*4)/(this.step||1))},isPageChanged(e){return this.step&&!this.lazy?this.page!==this.getPageByFirst(e??this.first):!0},setContentEl(e){this.content=e||this.content||l(this.element,`[data-pc-section="content"]`)},elementRef(e){this.element=e},contentRef(e){this.content=e}}},H=[`tabindex`];function Je(e,t,n,r,i,a){let o=S(`SpinnerIcon`);return e.disabled?(C(),I(y,{key:1},[x(e.$slots,`default`),x(e.$slots,`content`,{items:e.items,rows:e.items,columns:a.loadedColumns})],64)):(C(),I(`div`,b({key:0,ref:a.elementRef,class:a.containerClass,tabindex:e.tabindex,style:e.style},e.ptmi(`root`),{onScroll:t[0]||=(...e)=>a.onScroll&&a.onScroll(...e)}),[x(e.$slots,`content`,{styleClass:a.contentClass,items:a.loadedItems,getItemOptions:a.getOptions,loading:i.d_loading,getLoaderOptions:a.getLoaderOptions,itemSize:e.itemSize,rows:a.loadedRows,columns:a.loadedColumns,contentRef:a.contentRef,spacerStyle:i.spacerStyle,contentStyle:i.contentStyle,vertical:a.isVertical(),horizontal:a.isHorizontal(),both:a.isBoth()},()=>[M(`div`,b({ref:a.contentRef,class:a.contentClass,style:i.contentStyle},e.ptm(`content`)),[(C(!0),I(y,null,w(a.loadedItems,(t,n)=>x(e.$slots,`item`,{item:t,options:a.getOptions(n)},void 0,void 0,a.resolveItemKey(t,n))),128))],16)]),e.showSpacer?(C(),I(`div`,b({key:0,class:`p-virtualscroller-spacer`,style:i.spacerStyle},e.ptm(`spacer`)),null,16)):P(``,!0),!e.loaderDisabled&&e.showLoader&&i.d_loading?(C(),I(`div`,b({key:1,class:a.loaderClass},e.ptm(`loader`)),[e.$slots&&e.$slots.loader?(C(!0),I(y,{key:0},w(i.loaderArr,(t,n)=>x(e.$slots,`loader`,{options:a.getLoaderOptions(n,a.isBoth()&&{numCols:e.d_numItemsInViewport.cols})},void 0,void 0,n)),128)):P(``,!0),x(e.$slots,`loadingicon`,{},()=>[k(o,b({spin:``,class:`p-virtualscroller-loading-icon`},e.ptm(`loadingIcon`)),null,16)])],16)):P(``,!0)],16,H))}var U=v(qe,[[`render`,Je]]),W=v(N({__name:`CuiRecordingsGrid`,props:{items:{},minItemWidth:{},aspectRatio:{default:1},gap:{default:8},hasMore:{type:Boolean,default:!1},loadMore:{type:Function,default:void 0},itemKey:{type:Function,default:void 0}},setup(e,{expose:t}){let n=e,r=E(`containerRef`),{width:i,height:a}=te(r),o=F(()=>a.value>0?`${a.value}px`:void 0),s=F(()=>{let e=i.value;if(!e)return 0;let t=n.gap;return Math.max(1,Math.floor((e+t)/(n.minItemWidth+t)))}),c=F(()=>{let e=i.value,t=s.value;return!e||!t?0:Math.floor((e-(t-1)*n.gap)/t)}),l=F(()=>c.value?Math.floor(c.value/n.aspectRatio):0),u=F(()=>l.value?l.value+n.gap:0),d=F(()=>{let e=s.value;if(!e)return[];let t=[];for(let r=0;r<n.items.length;r+=e)t.push(n.items.slice(r,r+e));return t});function f(e){if(n.itemKey)return n.itemKey(e);let t=e;return t.id??t.key??JSON.stringify(e)}function p(e){let t=e;if(!(!t||t.length===0))return f(t[0])}let m=!1,h=null;async function g(){if(m||!n.hasMore||!n.loadMore||h!==null&&n.items.length===h)return;m=!0;let e=n.items.length;try{await Promise.resolve(n.loadMore())}finally{m=!1,h=n.items.length===e?e:null}}let _=L(0);function ee(e){let t=e.target;if(!t)return;_.value=t.scrollTop;let n=u.value*3;t.scrollTop+t.clientHeight>=t.scrollHeight-n&&g()}function ne(){(r.value?.querySelector(`.recordings-scroll`))?.scrollTo({top:0,behavior:`smooth`})}let v=!1;return ve([()=>n.items.length,a,u,()=>n.hasMore],()=>{v||(v=!0,z(()=>{if(v=!1,!n.hasMore)return;let e=a.value,t=d.value.length*u.value;e>0&&u.value>0&&t<e+u.value&&g()}))},{flush:`post`}),t({scrollToTop:ne,scrollY:_}),(t,n)=>{let i=U;return C(),I(`div`,{ref_key:`containerRef`,ref:r,class:`recordings-grid-root`},[j(d).length>0&&j(c)>0?(C(),O(i,{key:0,items:j(d),"item-size":j(u),"scroll-height":j(o),orientation:`vertical`,class:`recordings-scroll`,"num-tolerated-items":2,"item-key":p,onScroll:ee},{item:D(({item:n})=>[M(`div`,{class:`recordings-row`,style:R({height:`${j(u)}px`,gap:`${e.gap}px`})},[(C(!0),I(y,null,w(n,e=>(C(),I(`div`,{key:f(e),style:R({width:`${j(c)}px`,height:`${j(l)}px`})},[x(t.$slots,`item`,{item:e},void 0,!0)],4))),128))],4)]),_:3},8,[`items`,`item-size`,`scroll-height`])):P(``,!0)],512)}}}),[[`__scopeId`,`data-v-e61b8b84`]]);function G(e){if(e.episode)return e.episode.endTime;if(e.segIndex!==void 0){let t=e.event.segments?.[e.segIndex];if(t)return t.firstSeen}return e.event.thumbnailAt??e.event.startTime}function K(e){let t=[];for(let n of e){let e=n.segments??[];if(e.length<=1){t.push({event:n,key:n.id});continue}e.forEach((e,r)=>{e&&t.push({event:n,key:`${n.id}:seg:${r}`,segIndex:r})})}return t.sort((e,t)=>G(t)-G(e)),t}export{Ke as i,G as n,W as r,K as t};
|
|
1
|
+
import{Br as e,D as t,Ft as n,Gn as r,Gt as i,Ht as a,Nn as o,O as s,Ot as c,Qn as l,Wt as u,d,i as f,jn as p,l as m,m as h,q as g,r as _,t as ee,ti as te,zt as ne}from"./vendor-cameraui-B96_CDGO.js";import{An as v,Cr as re,G as ie,J as ae,On as oe,U as se,W as ce,Y as le,at as ue,bn as de,kn as fe,s as pe,vn as me,wn as he,xn as ge}from"./api-CdT8ZD-n.js";import{$t as y,An as _e,Cn as b,Fn as x,In as S,Kn as ve,Mn as C,Pn as w,Qt as T,Rn as ye,Wn as E,Xn as be,Xt as xe,Yn as D,an as O,fn as k,gr as A,hr as j,in as M,mn as N,on as P,rn as F,sn as I,sr as L,vr as R,wn as z,yn as Se,yr as B}from"./vendor-nVfLT5jI.js";import{a as Ce}from"./intercomService-CT_KVjly.js";import{N as V}from"./vendor-primevue-uo78flP9.js";var we=[`src`],Te={key:2,class:`w-full h-full flex items-center justify-center bg-neutral-800/80`},Ee={class:`absolute top-0 left-0 right-0 p-2 bg-gradient-to-b from-black/80 to-transparent z-[3]`},De={class:`flex items-center gap-1.5`},Oe={class:`text-xs font-semibold text-white truncate min-w-0 flex-1`},ke={key:1,class:`text-[10px] font-semibold text-white/80 bg-black/60 px-1.5 py-0.5 rounded-md shrink-0`},Ae={class:`text-[10px] text-white/70`},je={class:`block text-[11px] text-white font-medium truncate bg-black/50 rounded-md px-2 py-0.5`},Me={class:`flex items-center gap-1 min-w-0`},Ne=[`title`],Pe={key:0,class:`flex items-center gap-0.5 shrink-0 opacity-85 group-hover:opacity-100 transition-opacity duration-200`},Fe=[`onClick`],Ie=[`src`,`alt`],Le={key:0,class:`text-[10px] text-white/60 font-medium`},Re={key:6,class:`absolute inset-0 z-[4] flex items-center justify-center pointer-events-none`},ze={key:7,class:`absolute bottom-10 left-1/2 -translate-x-1/2 z-[4] pointer-events-none`},Be={class:`text-[10px] font-semibold text-white bg-black/60 px-1.5 py-0.5 rounded-md whitespace-nowrap`,style:{"font-variant-numeric":`tabular-nums`}},Ve=24,He=30,Ue=22,We=28,Ge=8,Ke=v(N({__name:`RecordingCard`,props:{event:{},cameraName:{},camera:{},loadThumbnails:{type:Function},semanticScore:{},segIndex:{},hideSegmentBadge:{type:Boolean},selectionMode:{type:Boolean},selected:{type:Boolean},siblingActive:{type:Boolean}},emits:[`scrollToEvent`,`select`,`openTrace`],setup(r,{emit:a}){let o=r,l=a,u=Ce(),p=re(),{t:v}=e(),b=s(`@camera.ui/camera-ui-nvr`),{plugin:x}=c(`@camera.ui/camera-ui-nvr`),{icons:S}=ue(),N=b.getCachedThumbnails(o.event.id),R=N?t(N,o.event,`card`,o.segIndex).url?`loaded`:`empty`:`loading`,z=Se(_,void 0),V=E(`rootRef`),Ke=E(`previewCanvasRef`),qe=E(`footerRef`),H=L(!1),Je=se(V,()=>xt(),()=>$()),U=L(!1),W=L(N??null),G=L(R),K=L(!1),Ye=L(0),{width:Xe}=te(qe),Ze=F(()=>(b.storeVersion.value,o.event.segments?.find(e=>e?.description)?.description?.title)),Qe=F(()=>{if(o.semanticScore==null)return;let e=Math.max(0,Math.min(1,o.semanticScore));return{pct:e,label:`${(e*100).toFixed(0)}%`,color:e>=.5?`bg-green-500/80`:e>=.25?`bg-yellow-500/80`:`bg-red-400/80`}}),q=F(()=>W.value?t(W.value,o.event,`card`,o.segIndex):null),$e=F(()=>{let e=o.segIndex??q.value?.segIndex;return e===void 0?void 0:o.event.segments?.[e]}),et=F(()=>q.value?.url),tt=F(()=>q.value?.label),nt=F(()=>q.value?.type??o.event.types[0]??`motion`),rt=F(()=>{if(o.hideSegmentBadge)return;let e=o.event.segments?.length??0;return o.segIndex!==void 0&&e>1?`${o.segIndex+1}/${e}`:void 0}),J=F(()=>{let e=W.value,t=q.value?.url;if(!e||!t)return[];let n=[{url:t,label:q.value?.label,type:nt.value,crop:!1}];for(let t of ee(e,o.segIndex))n.some(e=>e.url===t.url)||n.push({url:t.url,label:t.label,type:t.type,crop:!0});if(o.segIndex===void 0)for(let t of Object.keys(e.cards??e.strips??{}).sort((e,t)=>Number(e)-Number(t))){let r=m(e.cards?.[t]??e.strips?.[t]);if(!r||n.some(e=>e.url===r))continue;let i=ie(o.event,t);n.push({url:r,label:i,type:i,crop:!1})}return n.length>1?n:[]}),it=F(()=>J.value.length>1),Y=F(()=>J.value.length?Math.min(Ye.value,J.value.length-1):0),at=F(()=>it.value?J.value[Y.value]:void 0),ot=F(()=>!!at.value?.crop),st=F(()=>at.value?.url??et.value),ct=F(()=>at.value?.label??tt.value),X=F(()=>{let e=$e.value;return(e?h(o.event,e):[...new Set(o.event.types)]).filter(e=>e!==`motion`&&e!==`audio`)}),lt=F(()=>o.cameraName??o.event.cameraId),Z=F(()=>J.value.map(e=>({url:e.url,type:e.type}))),ut=F(()=>X.value.slice(0,Q.value.icons)),Q=F(()=>{let e=Xe.value;if(!e)return{icons:2,tiles:2};let t=e-Ge;o.selectionMode&&(t-=We);let n=Z.value.length>0?52:0,r=_t(X.value.length,Math.max(0,t-n),Ve),i=X.value.length>0?Math.max(1,r):0,a=i*Ve+(i<X.value.length?Ue:0);return{icons:i,tiles:_t(Z.value.length,Math.max(0,t-a),He)}}),dt=F(()=>X.value.slice(Q.value.icons)),ft=F(()=>Z.value.slice(0,Q.value.tiles)),pt=F(()=>Z.value.length-Q.value.tiles),mt=F(()=>{let e=o.segIndex===void 0?void 0:o.event.segments?.[o.segIndex]?.firstSeen,t=new Date(e??o.event.thumbnailAt??o.event.startTime),n=new Date,r=t.toDateString()===n.toDateString(),i=t.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`});return r?i:`${t.toLocaleDateString([],{month:`short`,day:`numeric`})} ${i}`}),ht=F(()=>!!(x.value&&o.event.endTime&&o.event.hasRecording!==!1)),gt=F(()=>z?H.value?v(`views.recordings.no_preview`):U.value?z.status.value===`unavailable`?v(`views.recordings.no_preview`):z.status.value===`playing`&&z.previewTimeMs.value?bt(z.previewTimeMs.value):``:``:``);function _t(e,t,n){return e===0||t<n?0:e*n<=t?e:Math.max(0,Math.floor((t-Ue)/n))}function vt(e){let t=J.value.length;t&&($(),Ye.value=(Y.value+e+t)%t)}function yt(e,t){it.value&&(t.stopPropagation(),$(),Ye.value=e)}function $(){H.value=!1,!(!z||!U.value)&&(U.value=!1,z.onHoverEnd())}function bt(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}function xt(){if(!z||Y.value>0)return;let e=Ke.value;if(!e)return;let t=d(o.event);if(o.event.hasRecording===!1||!t){H.value=!0;return}U.value=!0,z.onHoverStart(e,o.event.cameraId,o.event.id,o.event.startTime,t,o.camera?.zones?.privacy,f(o.event))}function St(){Je.blocksMouseEnter()||xt()}function Ct(){H.value=!1,z&&(U.value=!1,z.onHoverEnd())}async function wt(e=2){let n=await o.loadThumbnails(o.event.id,o.event.startTime);if(n){W.value=n;let e=t(n,o.event,`card`);G.value=e.url?`loaded`:`empty`}else if(e>0)return await new Promise(e=>setTimeout(e,500)),wt(e-1);else G.value=o.event.state===`active`?`loading`:`empty`}function Tt(){if(!Je.consumesClick()){if(o.selectionMode){l(`select`);return}l(`scrollToEvent`,$e.value?.firstSeen??ce(o.event))}}async function Et(){if(K.value)return;let e=x.value;if(!(!e?.nvrExport||!o.event.endTime)){K.value=!0;try{let t=await e.nvrExport(o.event.cameraId,o.event.startTime*1e3,o.event.endTime*1e3);await oe({url:t.url,filename:t.filename})}catch(e){u.error(`Download failed:`,e),p.add({severity:`error`,summary:v(`views.recordings.download_failed`),detail:pe(e),life:5e3})}finally{K.value=!1}}}return ve(()=>b.storeVersion.value,()=>{let e=b.getCachedThumbnails(o.event.id);e&&(W.value=e,t(e,o.event,`card`).url&&(G.value=`loaded`))}),_e(()=>{R===`loading`&&wt()}),(e,t)=>{let a=g,o=fe,s=me,c=ae,u=ne,d=le,f=de,p=ge,m=he,h=n,_=i;return C(),I(`div`,{ref_key:`rootRef`,ref:V,class:`recording-card relative group cursor-pointer`,onClick:Tt,onMouseenter:St,onMouseleave:Ct},[M(`div`,{class:A([`bg-neutral-900 w-full rounded-xl overflow-hidden relative transition-shadow duration-200`,{"ring-2 ring-inset ring-primary/70":r.siblingActive}]),style:{"aspect-ratio":`1/1`}},[j(G)===`loading`?(C(),O(a,{key:0,width:`100%`,height:`100%`,class:`rounded-xl`})):j(st)?(C(),I(y,{key:1},[j(ot)?(C(),I(`img`,{key:0,src:j(st),"aria-hidden":`true`,class:`absolute inset-0 w-full h-full object-cover blur-xl scale-110 opacity-50 pointer-events-none`},null,8,we)):P(``,!0),k(o,{src:j(st),alt:j(lt),class:`pointer-events-none w-full h-full transition-transform duration-300 group-hover:scale-105`,"image-style":{objectFit:j(ot)?`contain`:`cover`},"image-container-class":`w-full h-full`},null,8,[`src`,`alt`,`image-style`])],64)):(C(),I(`div`,Te,[(C(),O(ye(j(S)[j(nt)]??j(S).motion),{class:`w-10 h-10 text-white/20`}))])),j(z)?be((C(),I(`canvas`,{key:3,ref_key:`previewCanvasRef`,ref:Ke,class:`absolute inset-0 w-full h-full object-cover pointer-events-none z-[1]`},null,512)),[[xe,j(U)]]):P(``,!0),t[3]||=M(`div`,{class:`absolute inset-0 bg-transparent group-hover:bg-black/30 pointer-events-none transition-colors duration-200 z-[2]`},null,-1),M(`div`,Ee,[M(`div`,De,[j(Ze)?(C(),O(s,{key:0,position:`inline`})):P(``,!0),M(`p`,Oe,B(j(lt)),1),j(rt)?(C(),I(`span`,ke,B(j(rt)),1)):P(``,!0),j(Qe)?(C(),I(`span`,{key:2,class:A([`text-[10px] font-bold text-white px-1.5 py-0.5 rounded-md shrink-0`,j(Qe).color])},B(j(Qe).label),3)):P(``,!0),r.camera&&!r.selectionMode?be((C(),O(u,{key:3,rounded:``,text:``,severity:`secondary`,class:`!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80`,onClick:t[0]||=T(e=>l(`openTrace`),[`stop`]),onMouseenter:$},{icon:D(()=>[k(c,{class:`w-3 h-3 text-white`})]),_:1})),[[_,{value:e.$t(`views.recordings.open_trace`)},void 0,{left:!0}]]):P(``,!0),j(ht)&&!r.selectionMode?be((C(),O(u,{key:4,rounded:``,text:``,severity:`secondary`,loading:j(K),class:`!w-5 !h-5 !p-0 shrink-0 bg-black/60 hover:!bg-black/80`,onClick:T(Et,[`stop`]),onMouseenter:$},{icon:D(()=>[k(d,{class:`w-3 h-3 text-white`})]),_:1},8,[`loading`])),[[_,{value:e.$t(`views.recordings.download`)},void 0,{left:!0}]]):P(``,!0)]),M(`p`,Ae,B(j(mt)),1)]),j(J).length>1?(C(),I(y,{key:4},[k(u,{rounded:``,text:``,severity:`secondary`,class:`carousel-nav !absolute left-1 top-1/2 -translate-y-1/2 z-[3] !w-7 !h-7 !p-0 bg-black/40 hover:!bg-black/60 transition-opacity duration-200`,"aria-label":e.$t(`views.recordings.prev_image`),onClick:t[1]||=T(e=>vt(-1),[`stop`]),onMouseenter:$},{icon:D(()=>[k(f,{class:`w-5 h-5 text-white`})]),_:1},8,[`aria-label`]),k(u,{rounded:``,text:``,severity:`secondary`,class:`carousel-nav !absolute right-1 top-1/2 -translate-y-1/2 z-[3] !w-7 !h-7 !p-0 bg-black/40 hover:!bg-black/60 transition-opacity duration-200`,"aria-label":e.$t(`views.recordings.next_image`),onClick:t[2]||=T(e=>vt(1),[`stop`]),onMouseenter:$},{icon:D(()=>[k(p,{class:`w-5 h-5 text-white`})]),_:1},8,[`aria-label`])],64)):P(``,!0),j(ct)?(C(),I(`div`,{key:5,class:A([`absolute left-1/2 -translate-x-1/2 z-[3] max-w-[85%] pointer-events-none transition-all duration-200`,j(gt)?`bottom-16`:`bottom-10`])},[M(`span`,je,B(j(ct)),1)],2)):P(``,!0),M(`div`,{ref_key:`footerRef`,ref:qe,class:`absolute bottom-2 left-2 right-2 flex items-center justify-between gap-2 z-[3]`},[M(`div`,Me,[r.selectionMode?(C(),I(`div`,{key:0,class:A([`w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors shrink-0`,r.selected?`bg-primary border-primary`:`bg-black/40 border-white/80`])},[r.selected?(C(),O(m,{key:0,class:`w-4 h-4 text-white`})):P(``,!0)],2)):P(``,!0),(C(!0),I(y,null,w(j(ut),e=>(C(),I(`div`,{key:e,class:`flex items-center justify-center w-5 h-5 rounded-md bg-black/60 shrink-0`},[(C(),O(ye(j(S)[e]??j(S).motion),{class:`w-3 h-3 text-white/80`}))]))),128)),j(dt).length>0?(C(),I(`span`,{key:1,title:j(dt).join(`, `),class:`text-[10px] text-white/60 font-medium shrink-0`},` +`+B(j(dt).length),9,Ne)):P(``,!0)]),j(ft).length>0||j(pt)>0?(C(),I(`div`,Pe,[(C(!0),I(y,null,w(j(ft),(e,t)=>(C(),I(`div`,{key:t,class:A([`w-7 h-7 rounded overflow-hidden border bg-neutral-800 cursor-pointer`,t===j(Y)?`border-primary/80`:`border-white/20`]),onClick:e=>yt(t,e)},[M(`img`,{src:e.url,alt:e.type,decoding:`async`,loading:`lazy`,class:`w-full h-full object-cover`},null,8,Ie)],10,Fe))),128)),j(pt)>0?(C(),I(`span`,Le,`+`+B(j(pt)),1)):P(``,!0)])):P(``,!0)],512),j(z)&&j(U)&&j(z).isLoading.value?(C(),I(`div`,Re,[k(h,{class:`w-[28px] h-[28px] m-0`,"stroke-width":`6`})])):P(``,!0),j(gt)?(C(),I(`div`,ze,[M(`span`,Be,B(j(gt)),1)])):P(``,!0)],2)],544)}}}),[[`__scopeId`,`data-v-97ad8176`]]),qe={name:`VirtualScroller`,components:{SpinnerIcon:a},extends:{name:`BaseVirtualScroller`,extends:u,provide(){return{$pcVirtualScroller:this,$parentInstance:this}},props:{id:{type:String,default:null},style:null,class:null,items:{type:Array,default:null},itemSize:{type:[Number,Array],default:0},scrollHeight:null,scrollWidth:null,orientation:{type:String,default:`vertical`},rtl:{type:Boolean,default:!1},numToleratedItems:{type:Number,default:null},delay:{type:Number,default:0},resizeDelay:{type:Number,default:10},lazy:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},loaderDisabled:{type:Boolean,default:!1},columns:{type:Array,default:null},loading:{type:Boolean,default:!1},showSpacer:{type:Boolean,default:!0},showLoader:{type:Boolean,default:!1},tabindex:{type:Number,default:0},inline:{type:Boolean,default:!1},step:{type:Number,default:0},appendOnly:{type:Boolean,default:!1},autoSize:{type:Boolean,default:!1},itemKey:{type:[String,Function],default:null}},style:V,beforeMount(){V.loadCSS({nonce:this.$primevueConfig?.csp?.nonce})}},inheritAttrs:!1,emits:[`update:numToleratedItems`,`scroll`,`scroll-index-change`,`lazy-load`],data(){let e=this.isBoth();return{first:e?{rows:0,cols:0}:0,last:e?{rows:0,cols:0}:0,page:e?{rows:0,cols:0}:0,numItemsInViewport:e?{rows:0,cols:0}:0,lastScrollPos:e?{top:0,left:0}:0,d_numToleratedItems:this.numToleratedItems,d_loading:this.loading,loaderArr:[],spacerStyle:{},contentStyle:{}}},element:null,content:null,lastScrollPos:null,scrollTimeout:null,resizeTimeout:null,defaultWidth:0,defaultHeight:0,defaultContentWidth:0,defaultContentHeight:0,isRangeChanged:!1,lazyLoadState:{},resizeListener:null,initialized:!1,computed:{containerClass(){return[`p-virtualscroller`,this.class,{"p-virtualscroller-inline":this.inline,"p-virtualscroller-both p-both-scroll":this.isBoth(),"p-virtualscroller-horizontal p-horizontal-scroll":this.isHorizontal(),"p-virtualscroller-rtl":this.rtl&&this.isHorizontal()}]},contentClass(){return[`p-virtualscroller-content`,{"p-virtualscroller-loading":this.d_loading}]},loaderClass(){return[`p-virtualscroller-loader`,{"p-virtualscroller-loader-mask":!this.$slots.loader}]},loadedItems(){return this.items&&!this.d_loading?this.isBoth()?this.items.slice(this.appendOnly?0:this.first.rows,this.last.rows).map(e=>this.columns?e:e.slice(this.appendOnly?0:this.first.cols,this.last.cols)):this.isHorizontal()&&this.columns?this.items:this.items.slice(this.appendOnly?0:this.first,this.last):[]},loadedRows(){return this.d_loading?this.loaderDisabled?this.loaderArr:[]:this.loadedItems},loadedColumns(){if(this.columns){let e=this.isBoth(),t=this.isHorizontal();if(e||t)return this.d_loading&&this.loaderDisabled?e?this.loaderArr[0]:this.loaderArr:this.columns.slice(e?this.first.cols:this.first,e?this.last.cols:this.last)}return this.columns}},watch:{numToleratedItems(e){this.d_numToleratedItems=e},loading(e,t){this.lazy&&e!==t&&e!==this.d_loading&&(this.d_loading=e)},items(e,t){(!t||t.length!==(e||[]).length)&&this.scheduleInit()},itemSize(){this.scheduleInit()},orientation(){this.lastScrollPos=this.isBoth()?{top:0,left:0}:0},scrollHeight(){this.scheduleInit()},scrollWidth(){this.scheduleInit()}},mounted(){this.viewInit(),this.lastScrollPos=this.isBoth()?{top:0,left:0}:0,this.lazyLoadState=this.lazyLoadState||{}},updated(){!this.initialized&&this.viewInit()},unmounted(){this.unbindResizeListener(),this.initialized=!1},methods:{resolveItemKey(e,t){let n=this.itemKey;return typeof n==`function`?n(e,t)??t:typeof n==`string`&&typeof e==`object`&&e?e[n]??t:t},viewInit(){r(this.element)&&(this.setContentEl(this.content),this.init(),this.calculateAutoSize(),this.bindResizeListener(),this.defaultWidth=p(this.element),this.defaultHeight=o(this.element),this.defaultContentWidth=p(this.content),this.defaultContentHeight=o(this.content),this.initialized=!0)},init(){this.disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize())},scheduleInit(){this._initScheduled||(this._initScheduled=!0,Promise.resolve().then(()=>{this._initScheduled=!1,this.init(),this.calculateAutoSize()}))},isVertical(){return this.orientation===`vertical`},isHorizontal(){return this.orientation===`horizontal`},isBoth(){return this.orientation===`both`},scrollTo(e){this.element&&this.element.scrollTo(e)},scrollToIndex(e,t=`auto`){let n=this.isBoth(),r=this.isHorizontal(),i=this.rtl&&r;if(n?e.every(e=>e>-1):e>-1){let a=this.first,{scrollTop:o=0,scrollLeft:s=0}=this.element,{numToleratedItems:c}=this.calculateNumItems(),l=this.getContentPosition(),u=this.itemSize,d=(e=0,t)=>e<=t?0:e,f=(e,t,n)=>e*t+n,p=(e=0,n=0)=>{i&&(e=this.element.scrollWidth-this.element.clientWidth-e),this.scrollTo({left:e,top:n,behavior:t})},m=n?{rows:0,cols:0}:0,h=!1,g=!1;n?(m={rows:d(e[0],c[0]),cols:d(e[1],c[1])},p(f(m.cols,u[1],l.left),f(m.rows,u[0],l.top)),g=this.lastScrollPos.top!==o||this.lastScrollPos.left!==s,h=m.rows!==a.rows||m.cols!==a.cols):(m=d(e,c),r?p(f(m,u,l.left),o):p(s,f(m,u,l.top)),g=this.lastScrollPos!==(r?s:o),h=m!==a),this.isRangeChanged=h,g&&(this.first=m)}},scrollInView(e,t,n=`auto`){if(t){let r=this.isBoth(),i=this.isHorizontal();if(r?e.every(e=>e>-1):e>-1){let{first:a,viewport:o}=this.getRenderedRange(),s=(e=0,t=0)=>this.scrollTo({left:e,top:t,behavior:n}),c=t===`to-start`,l=t===`to-end`;if(c){if(r)o.first.rows-a.rows>e[0]?s(o.first.cols*this.itemSize[1],(o.first.rows-1)*this.itemSize[0]):o.first.cols-a.cols>e[1]&&s((o.first.cols-1)*this.itemSize[1],o.first.rows*this.itemSize[0]);else if(o.first-a>e){let e=(o.first-1)*this.itemSize;i?s(e,0):s(0,e)}}else if(l){if(r)o.last.rows-a.rows<=e[0]+1?s(o.first.cols*this.itemSize[1],(o.first.rows+1)*this.itemSize[0]):o.last.cols-a.cols<=e[1]+1&&s((o.first.cols+1)*this.itemSize[1],o.first.rows*this.itemSize[0]);else if(o.last-a<=e+1){let e=(o.first+1)*this.itemSize;i?s(e,0):s(0,e)}}}}else this.scrollToIndex(e,n)},getRenderedRange(){let e=(e,t)=>Math.floor(e/(t||e)),t=this.first,n=0;if(this.element){let r=this.isBoth(),i=this.isHorizontal(),{scrollTop:a,scrollLeft:o}=this.element;r?(t={rows:e(a,this.itemSize[0]),cols:e(o,this.itemSize[1])},n={rows:t.rows+this.numItemsInViewport.rows,cols:t.cols+this.numItemsInViewport.cols}):(t=e(i?o:a,this.itemSize),n=t+this.numItemsInViewport)}return{first:this.first,last:this.last,viewport:{first:t,last:n}}},calculateNumItems(){let e=this.isBoth(),t=this.isHorizontal(),n=this.itemSize,r=this.getContentPosition(),i=this.element?this.element.offsetWidth-r.left:0,a=this.element?this.element.offsetHeight-r.top:0,o=(e,t)=>Math.ceil(e/(t||e)),s=e=>Math.ceil(e/2),c=e?{rows:o(a,n[0]),cols:o(i,n[1])}:o(t?i:a,n);return{numItemsInViewport:c,numToleratedItems:this.d_numToleratedItems||(e?[s(c.rows),s(c.cols)]:s(c))}},calculateOptions(){let e=this.isBoth(),t=this.first,{numItemsInViewport:n,numToleratedItems:r}=this.calculateNumItems(),i=(e,t,n,r=!1)=>this.getLast(e+t+(e<n?2:3)*n,r),a=e?{rows:i(t.rows,n.rows,r[0]),cols:i(t.cols,n.cols,r[1],!0)}:i(t,n,r);this.last=a,this.numItemsInViewport=n,this.d_numToleratedItems=r,this.$emit(`update:numToleratedItems`,this.d_numToleratedItems),this.showLoader&&(this.loaderArr=e?Array.from({length:n.rows}).map(()=>Array.from({length:n.cols})):Array.from({length:n})),this.lazy&&Promise.resolve().then(()=>{this.lazyLoadState={first:this.step?e?{rows:0,cols:t.cols}:0:t,last:Math.min(this.step?this.step:a,this.items?.length-1||0)},this.$emit(`lazy-load`,this.lazyLoadState)})},calculateAutoSize(){this.autoSize&&!this.d_loading&&Promise.resolve().then(()=>{if(this.content){let e=this.isBoth(),t=this.isHorizontal(),n=this.isVertical();this.content.style.minHeight=this.content.style.minWidth=`auto`,this.content.style.position=`relative`,this.element.style.contain=`none`;let[r,i]=[p(this.element),o(this.element)];(e||t)&&(this.element.style.width=r<this.defaultWidth?r+`px`:this.scrollWidth||this.defaultWidth+`px`),(e||n)&&(this.element.style.height=i<this.defaultHeight?i+`px`:this.scrollHeight||this.defaultHeight+`px`),this.content.style.minHeight=this.content.style.minWidth=``,this.content.style.position=``,this.element.style.contain=``}})},getLast(e=0,t){return this.items?Math.min(t?(this.columns||this.items[0])?.length||0:this.items?.length||0,e):0},getContentPosition(){if(this.content){let e=getComputedStyle(this.content),t=parseFloat(e.paddingLeft)+Math.max(parseFloat(e.left)||0,0),n=parseFloat(e.paddingRight)+Math.max(parseFloat(e.right)||0,0),r=parseFloat(e.paddingTop)+Math.max(parseFloat(e.top)||0,0),i=parseFloat(e.paddingBottom)+Math.max(parseFloat(e.bottom)||0,0);return{left:t,right:n,top:r,bottom:i,x:t+n,y:r+i}}return{left:0,right:0,top:0,bottom:0,x:0,y:0}},setSize(){if(this.element){let e=this.isBoth(),t=this.isHorizontal(),n=this.element.parentElement,r=this.scrollWidth||`${this.element.offsetWidth||n.offsetWidth}px`,i=this.scrollHeight||`${this.element.offsetHeight||n.offsetHeight}px`,a=(e,t)=>this.element.style[e]=t;e||t?(a(`height`,i),a(`width`,r)):a(`height`,i)}},setSpacerSize(){let e=this.items;if(e){let t=this.isBoth(),n=this.isHorizontal(),r=this.getContentPosition(),i=(e,t,n,r=0)=>this.spacerStyle={...this.spacerStyle,[`${e}`]:(t||[]).length*n+r+`px`};t?(i(`height`,e,this.itemSize[0],r.y),i(`width`,this.columns||e[1],this.itemSize[1],r.x)):n?i(`width`,this.columns||e,this.itemSize,r.x):i(`height`,e,this.itemSize,r.y)}},setContentPosition(e){if(this.content&&!this.appendOnly){let t=this.isBoth(),n=this.isHorizontal(),r=this.rtl&&n,i=e?e.first:this.first,a=(e,t)=>e*t,o=(e=0,t=0)=>{let n=r?-e:e;this.contentStyle={...this.contentStyle,transform:`translate3d(${n}px, ${t}px, 0)`}};if(t){let e=i.rows,t=i.cols,n=this.itemSize;o(a(t,n[1]),a(e,n[0]))}else{let e=i,t=this.itemSize,r=a(e,t);n?o(r,0):o(0,r)}}},onScrollPositionChange(e){let t=e.target,n=this.isBoth(),r=this.isHorizontal(),i=this.rtl&&r,a=this.getContentPosition(),o=(e,t)=>e?e>t?e-t:e:0,s=(e,t)=>Math.floor(e/(t||e)),c=o(t.scrollTop,a.top),l=o(t.scrollLeft,a.left);i&&l<0&&(l=Math.abs(l));let u=n?{rows:0,cols:0}:0,d=this.last,f=!1,p=this.lastScrollPos;if(n){let e=this.lastScrollPos.top<=c,n=this.lastScrollPos.left<=l;if(!this.appendOnly||this.appendOnly&&(e||n)){let r={rows:s(c,this.itemSize[0]),cols:s(l,this.itemSize[1])},i={rows:this.calculateTriggerIndex(r.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],e),cols:this.calculateTriggerIndex(r.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],n)};u={rows:this.calculateFirst(r.rows,i.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],e),cols:this.calculateFirst(r.cols,i.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],n,!0)},d={rows:this.calculateLast(r.rows,u.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:this.calculateLast(r.cols,u.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},f=u.rows!==this.first.rows||d.rows!==this.last.rows||u.cols!==this.first.cols||d.cols!==this.last.cols||this.isRangeChanged,p={top:c,left:t.scrollLeft}}}else{let e=r?l:c,t=this.lastScrollPos<=e;if(!this.appendOnly||this.appendOnly&&t){let n=s(e,this.itemSize),r=this.calculateTriggerIndex(n,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,t);u=this.calculateFirst(n,r,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,t),d=this.calculateLast(n,u,this.last,this.numItemsInViewport,this.d_numToleratedItems),f=u!==this.first||d!==this.last||this.isRangeChanged,p=e}}return{first:u,last:d,isRangeChanged:f,scrollPos:p}},calculateTriggerIndex(e,t,n,r,i,a){return e<=i?i:a?n-r-i:t+i-1},calculateFirst(e,t,n,r,i,a,o,s=!1){if(e<=a)return 0;let c=Math.max(0,o?e<t?n:e-a:e>t?n:e-2*a),l=this.getLast(c,s);return c>l?l-i:c},calculateLast(e,t,n,r,i,a=!1){let o=t+r+2*i;return e>=i&&(o+=i+1),this.getLast(o,a)},onScrollChange(e){let{first:t,last:n,isRangeChanged:r,scrollPos:i}=this.onScrollPositionChange(e);if(r){let e={first:t,last:n};if(this.setContentPosition(e),this.first=t,this.last=n,this.lastScrollPos=i,this.$emit(`scroll-index-change`,e),this.lazy&&this.isPageChanged(t)){let e={first:this.step?Math.min(this.getPageByFirst(t)*this.step,(this.items?.length||0)-this.step):t,last:Math.min(this.step?(this.getPageByFirst(t)+1)*this.step:n,this.items?.length-1||0)};(this.lazyLoadState.first!==e.first||this.lazyLoadState.last!==e.last)&&this.$emit(`lazy-load`,e),this.lazyLoadState=e}}},onScroll(e){if(this.$emit(`scroll`,e),this.delay){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.isPageChanged()){if(!this.d_loading&&this.showLoader){let{isRangeChanged:t}=this.onScrollPositionChange(e);(t||this.step&&this.isPageChanged())&&(this.d_loading=!0)}this.scrollTimeout=setTimeout(()=>{this.onScrollChange(e),this.d_loading&&this.showLoader&&(!this.lazy||this.loading===void 0)&&(this.d_loading=!1,this.page=this.getPageByFirst())},this.delay)}}else this.onScrollChange(e)},onResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{if(r(this.element)){let e=this.isBoth(),t=this.isVertical(),n=this.isHorizontal(),[r,i]=[p(this.element),o(this.element)],[a,s]=[r!==this.defaultWidth,i!==this.defaultHeight];(e?a||s:n?a:t&&s)&&(this.d_numToleratedItems=this.numToleratedItems,this.defaultWidth=r,this.defaultHeight=i,this.defaultContentWidth=p(this.content),this.defaultContentHeight=o(this.content),this.init())}},this.resizeDelay)},bindResizeListener(){this.resizeListener||(this.resizeListener=this.onResize.bind(this),window.addEventListener(`resize`,this.resizeListener),window.addEventListener(`orientationchange`,this.resizeListener))},unbindResizeListener(){this.resizeListener&&=(window.removeEventListener(`resize`,this.resizeListener),window.removeEventListener(`orientationchange`,this.resizeListener),null)},getOptions(e){let t=(this.items||[]).length,n=this.isBoth()?this.first.rows+e:this.first+e;return{index:n,count:t,first:n===0,last:n===t-1,even:n%2==0,odd:n%2!=0}},getLoaderOptions(e,t){let n=this.loaderArr.length;return{index:e,count:n,first:e===0,last:e===n-1,even:e%2==0,odd:e%2!=0,...t}},getPageByFirst(e){return Math.floor(((e??this.first)+this.d_numToleratedItems*4)/(this.step||1))},isPageChanged(e){return this.step&&!this.lazy?this.page!==this.getPageByFirst(e??this.first):!0},setContentEl(e){this.content=e||this.content||l(this.element,`[data-pc-section="content"]`)},elementRef(e){this.element=e},contentRef(e){this.content=e}}},H=[`tabindex`];function Je(e,t,n,r,i,a){let o=S(`SpinnerIcon`);return e.disabled?(C(),I(y,{key:1},[x(e.$slots,`default`),x(e.$slots,`content`,{items:e.items,rows:e.items,columns:a.loadedColumns})],64)):(C(),I(`div`,b({key:0,ref:a.elementRef,class:a.containerClass,tabindex:e.tabindex,style:e.style},e.ptmi(`root`),{onScroll:t[0]||=(...e)=>a.onScroll&&a.onScroll(...e)}),[x(e.$slots,`content`,{styleClass:a.contentClass,items:a.loadedItems,getItemOptions:a.getOptions,loading:i.d_loading,getLoaderOptions:a.getLoaderOptions,itemSize:e.itemSize,rows:a.loadedRows,columns:a.loadedColumns,contentRef:a.contentRef,spacerStyle:i.spacerStyle,contentStyle:i.contentStyle,vertical:a.isVertical(),horizontal:a.isHorizontal(),both:a.isBoth()},()=>[M(`div`,b({ref:a.contentRef,class:a.contentClass,style:i.contentStyle},e.ptm(`content`)),[(C(!0),I(y,null,w(a.loadedItems,(t,n)=>x(e.$slots,`item`,{item:t,options:a.getOptions(n)},void 0,void 0,a.resolveItemKey(t,n))),128))],16)]),e.showSpacer?(C(),I(`div`,b({key:0,class:`p-virtualscroller-spacer`,style:i.spacerStyle},e.ptm(`spacer`)),null,16)):P(``,!0),!e.loaderDisabled&&e.showLoader&&i.d_loading?(C(),I(`div`,b({key:1,class:a.loaderClass},e.ptm(`loader`)),[e.$slots&&e.$slots.loader?(C(!0),I(y,{key:0},w(i.loaderArr,(t,n)=>x(e.$slots,`loader`,{options:a.getLoaderOptions(n,a.isBoth()&&{numCols:e.d_numItemsInViewport.cols})},void 0,void 0,n)),128)):P(``,!0),x(e.$slots,`loadingicon`,{},()=>[k(o,b({spin:``,class:`p-virtualscroller-loading-icon`},e.ptm(`loadingIcon`)),null,16)])],16)):P(``,!0)],16,H))}var U=v(qe,[[`render`,Je]]),W=v(N({__name:`CuiRecordingsGrid`,props:{items:{},minItemWidth:{},aspectRatio:{default:1},gap:{default:8},hasMore:{type:Boolean,default:!1},loadMore:{type:Function,default:void 0},itemKey:{type:Function,default:void 0}},setup(e,{expose:t}){let n=e,r=E(`containerRef`),{width:i,height:a}=te(r),o=F(()=>a.value>0?`${a.value}px`:void 0),s=F(()=>{let e=i.value;if(!e)return 0;let t=n.gap;return Math.max(1,Math.floor((e+t)/(n.minItemWidth+t)))}),c=F(()=>{let e=i.value,t=s.value;return!e||!t?0:Math.floor((e-(t-1)*n.gap)/t)}),l=F(()=>c.value?Math.floor(c.value/n.aspectRatio):0),u=F(()=>l.value?l.value+n.gap:0),d=F(()=>{let e=s.value;if(!e)return[];let t=[];for(let r=0;r<n.items.length;r+=e)t.push(n.items.slice(r,r+e));return t});function f(e){if(n.itemKey)return n.itemKey(e);let t=e;return t.id??t.key??JSON.stringify(e)}function p(e){let t=e;if(!(!t||t.length===0))return f(t[0])}let m=!1,h=null;async function g(){if(m||!n.hasMore||!n.loadMore||h!==null&&n.items.length===h)return;m=!0;let e=n.items.length;try{await Promise.resolve(n.loadMore())}finally{m=!1,h=n.items.length===e?e:null}}let _=L(0);function ee(e){let t=e.target;if(!t)return;_.value=t.scrollTop;let n=u.value*3;t.scrollTop+t.clientHeight>=t.scrollHeight-n&&g()}function ne(){(r.value?.querySelector(`.recordings-scroll`))?.scrollTo({top:0,behavior:`smooth`})}let v=!1;return ve([()=>n.items.length,a,u,()=>n.hasMore],()=>{v||(v=!0,z(()=>{if(v=!1,!n.hasMore)return;let e=a.value,t=d.value.length*u.value;e>0&&u.value>0&&t<e+u.value&&g()}))},{flush:`post`}),t({scrollToTop:ne,scrollY:_}),(t,n)=>{let i=U;return C(),I(`div`,{ref_key:`containerRef`,ref:r,class:`recordings-grid-root`},[j(d).length>0&&j(c)>0?(C(),O(i,{key:0,items:j(d),"item-size":j(u),"scroll-height":j(o),orientation:`vertical`,class:`recordings-scroll`,"num-tolerated-items":2,"item-key":p,onScroll:ee},{item:D(({item:n})=>[M(`div`,{class:`recordings-row`,style:R({height:`${j(u)}px`,gap:`${e.gap}px`})},[(C(!0),I(y,null,w(n,e=>(C(),I(`div`,{key:f(e),style:R({width:`${j(c)}px`,height:`${j(l)}px`})},[x(t.$slots,`item`,{item:e},void 0,!0)],4))),128))],4)]),_:3},8,[`items`,`item-size`,`scroll-height`])):P(``,!0)],512)}}}),[[`__scopeId`,`data-v-e61b8b84`]]);function G(e){if(e.episode)return e.episode.endTime;if(e.segIndex!==void 0){let t=e.event.segments?.[e.segIndex];if(t)return t.firstSeen}return e.event.thumbnailAt??e.event.startTime}function K(e){let t=[];for(let n of e){let e=n.segments??[];if(e.length<=1){t.push({event:n,key:n.id});continue}e.forEach((e,r)=>{e&&t.push({event:n,key:`${n.id}:seg:${r}`,segIndex:r})})}return t.sort((e,t)=>G(t)-G(e)),t}export{Ke as i,G as n,W as r,K as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Cr as e,Mr as t,xr as n}from"./api-
|
|
1
|
+
import{Cr as e,Mr as t,xr as n}from"./api-CdT8ZD-n.js";import{J as r,U as i,ir as a,rn as o,sr as s,ur as c}from"./vendor-nVfLT5jI.js";import{f as l}from"./vendor-core-DFWGbWRD.js";import{l as u,u as d}from"./server-CyCTaiWl.js";import{n as f}from"./useServerRestart-F0do0_a5.js";import{t as p}from"./useUpdatesSocket-DOHvs02g.js";import{u as m}from"./plugins-V5-6e5L7.js";async function h({signal:e}={}){return(await t.get(`/updates/status`,{signal:e})).data}async function g(){return(await t.post(`/updates/run`)).data}async function _(){await t.post(`/updates/cancel`)}async function v(){await t.post(`/updates/check`,void 0,{timeout:6e4})}async function y(){return(await t.get(`/workers/config`)).data}async function b(e){return(await t.patch(`/workers/config`,e)).data}async function x(){return(await t.post(`/workers/pairings`)).data}async function S(e){await t.delete(`/workers/${e}`)}async function C(e){await t.post(`/workers/${e}/restart`)}async function w({agentId:e,version:n}){await t.post(`/workers/${e}/update`,n?{version:n}:{})}async function T({agentId:e,name:n}){await t.patch(`/workers/${e}`,{name:n})}async function E({cameraId:e,agentId:n}){return(await t.post(`/workers/assign`,{cameraId:e,agentId:n})).data}async function D({cameraId:e}){return(await t.post(`/workers/unassign`,{cameraId:e})).data}async function O({pluginName:e,agentId:n}){return(await t.post(`/workers/assign-plugin`,{pluginName:e,agentId:n})).data}async function k({pluginName:e}){return(await t.post(`/workers/unassign-plugin`,{pluginName:e})).data}var A=class{_queryClient=r();toast=e();getConfigQuery(){return n({queryKey:[`workersConfig`],queryFn:()=>y(),retry:!1})}patchConfigQuery(){return i({mutationFn:b,onSuccess:()=>this._queryClient.invalidateQueries({queryKey:[`workersConfig`]}),onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}createPairingQuery(){return i({mutationFn:x})}removeWorkerQuery(){return i({mutationFn:S,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}assignCameraQuery(){return i({mutationFn:E,onMutate:({cameraId:e,agentId:t})=>this.patchCameraWorker(e,t),onError:(e,t,n)=>{n?.rollback(),this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}unassignCameraQuery(){return i({mutationFn:D,onMutate:({cameraId:e})=>this.patchCameraWorker(e,void 0),onError:(e,t,n)=>{n?.rollback(),this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}restartWorkerQuery(){return i({mutationFn:C})}updateWorkerQuery(){return i({mutationFn:w,onError:e=>{this.toast.add({severity:`error`,detail:e,life:5e3})}})}renameWorkerQuery(){return i({mutationFn:T,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}assignPluginQuery(){return i({mutationFn:O,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`pluginsList`]})})}unassignPluginQuery(){return i({mutationFn:k,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`pluginsList`]})})}patchCameraWorker(e,t){let n=[];for(let[r,i]of this._queryClient.getQueriesData({queryKey:[`camerasList`]}))i?.result&&(n.push([r,i]),this._queryClient.setQueryData(r,{...i,result:i.result.map(n=>n._id===e?{...n,workerAgentId:t}:n)}));return{rollback:()=>{for(let[e,t]of n)this._queryClient.setQueryData(e,t)}}}},j=3e4,M=l(`updates`,()=>{let t=e(),n=p(),{beginServerRestart:r}=f(),i=c(null),l=s(!1),y=s(Date.now()),b=s(!1),x,S=null,C=o(()=>{let e=new Map;for(let t of i.value?.run?.active?i.value.run.items:i.value?.lastRun?.items??[])e.set(t.id,t);for(let t of i.value?.manual??[])e.set(t.id,t);return e}),T=o(()=>{let e=i.value?.pending;if(!e)return[];let t=[];t.push(W({id:`server`,kind:`server`,name:`camera.ui`,installedVersion:e.server.installedVersion,latestVersion:e.server.latestVersion??e.server.installedVersion,status:e.server.updateAvailable?e.server.blockedReason?`blocked`:`pending`:`uptodate`,blockedReason:e.server.updateAvailable?e.server.blockedReason:void 0}));for(let n of e.plugins)t.push(W({id:`plugin:${n.pluginName}`,kind:`plugin`,name:n.displayName||n.pluginName,packageName:n.pluginName,installedVersion:n.installedVersion,latestVersion:n.latestVersion??n.installedVersion,status:n.updateAvailable?`pending`:`uptodate`}));for(let n of e.workers)t.push(W({id:`worker:${n.agentId}`,kind:`worker`,name:n.name,installedVersion:n.installedVersion,latestVersion:e.targetServerVersion,status:n.updateAvailable?n.updatable?`pending`:`blocked`:`uptodate`,blockedReason:n.updateAvailable&&!n.updatable?n.blockedReason:void 0}));return t}),E=o(()=>i.value?.run?.active===!0),D=o(()=>i.value?.run?.cancelRequested===!0),O=o(()=>i.value?.lastRun?.finishedAt??null),k=o(()=>i.value?.run?.active?i.value.run.items.length:0),A=o(()=>i.value?.run?.active?i.value.run.items.filter(e=>e.status===`success`||e.status===`error`).length:0),M=o(()=>T.value.filter(e=>e.status===`pending`||e.status===`error`)),N=o(()=>M.value.length),P=o(()=>T.value.filter(e=>e.status===`error`)),F=o(()=>T.value.filter(e=>e.status===`updating`)),I=o(()=>F.value[0]),L=o(()=>T.value.find(e=>e.status===`restarting`)),R=o(()=>T.value.some(e=>e.kind===`server`&&(e.status===`updating`||e.status===`restarting`))),z=o(()=>F.value.some(e=>e.kind!==`server`)),B=o(()=>E.value||R.value||z.value),V=o(()=>i.value!==null&&N.value===0&&!B.value),H=o(()=>T.value.some(e=>e.kind===`server`&&(e.status===`pending`||e.status===`error`))),U=o(()=>i.value?.pending.targetServerVersion);function W(e){let t=C.value.get(e.id);return!t||t.status===`success`&&e.status===`uptodate`||t.status===`success`&&e.status===`pending`&&e.latestVersion!==t.targetVersion?e:{...e,status:t.status,error:t.error,latestVersion:t.targetVersion??e.latestVersion}}async function G(){return S||(S=h().then(e=>{i.value=e,y.value=Date.now()}).catch(()=>{}).finally(()=>{S=null}),S)}function K(){b.value||(b.value=!0,n.connect(),n.onStatus(()=>{G()}),G(),x??=setInterval(()=>G(),j))}async function q(){if(!B.value){l.value=!0;try{await v().catch(()=>{}),await G()}finally{l.value=!1}}}async function J(e){let n=T.value.find(t=>t.id===e);if(!(!n||E.value)&&(n.status===`pending`||n.status===`error`))try{n.kind===`plugin`?await m({pluginData:{pluginname:n.packageName??n.name,pluginversion:n.latestVersion??`latest`}}):n.kind===`worker`?await w({agentId:e.slice(7),version:U.value}):(await d({serverData:{version:n.latestVersion??`latest`}}),r(),await u())}catch(e){t.add({severity:`error`,detail:e?.response?.data?.message??e?.message,life:5e3})}finally{G()}}async function Y(){if(!(B.value||N.value===0))try{await g()}catch(e){t.add({severity:`error`,detail:e?.response?.data?.message??e?.message,life:5e3})}finally{G()}}async function X(){if(E.value)try{await _()}catch{}finally{G()}}function Z(e){return T.value.filter(t=>t.kind===e)}return a(()=>{x&&clearInterval(x)}),{status:i,items:T,runActive:E,cancelRequested:D,runFinishedAt:O,isChecking:l,checkedAt:y,runTotal:k,runDone:A,pendingItems:M,pendingCount:N,failedItems:P,updatingItems:F,updatingItem:I,restartingItem:L,serverBusy:R,targetsBusy:z,busy:B,allUpToDate:V,serverPending:H,targetServerVersion:U,connect:K,refresh:q,updateItem:J,updateAll:Y,cancelRun:X,itemsOf:Z}});export{A as n,M as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Mn as e,in as t,rr as n,sn as r}from"./vendor-
|
|
1
|
+
import{Mn as e,in as t,rr as n,sn as r}from"./vendor-nVfLT5jI.js";var i={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function a(n,a){return e(),r(`svg`,i,[...a[0]||=[t(`path`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 9l5-5l5 5m-5-5v12`},null,-1)]])}var o=n({name:`tabler-upload`,render:a});export{o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Mn as e,in as t,rr as n,sn as r}from"./vendor-
|
|
1
|
+
import{Mn as e,in as t,rr as n,sn as r}from"./vendor-nVfLT5jI.js";var i={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function a(n,a){return e(),r(`svg`,i,[...a[0]||=[t(`path`,{fill:`currentColor`,d:`M9 16v-6H5l7-7l7 7h-4v6zm-4 4v-2h14v2z`},null,-1)]])}var o=n({name:`mdi-upload`,render:a});export{o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./api-
|
|
1
|
+
import"./api-CdT8ZD-n.js";import{sr as e}from"./vendor-nVfLT5jI.js";import{i as t}from"./intercomService-CT_KVjly.js";function n(){let{electron:n}=t(),r=e(null);return{uiVersion:`2.0.0`,appVersion:r,nativeVersion:e(null),refreshAppVersion:async()=>{if(n)try{let e=await n.invoke(`get-app-version`);r.value=typeof e==`string`?e:null}catch{r.value=null}}}}export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Cr as e,Mr as t,g as n,s as r}from"./api-
|
|
1
|
+
import{Cr as e,Mr as t,g as n,s as r}from"./api-CdT8ZD-n.js";import{sr as i}from"./vendor-nVfLT5jI.js";import{l as a}from"./server-CyCTaiWl.js";import{n as o}from"./useServerRestart-F0do0_a5.js";var s=3e5;async function c(e){return(await t.post(`/backup/download`,{localStorage:e},{responseType:`arraybuffer`,timeout:s})).data}async function l(e,n){return(await t.post(`/backup/restore`,e,{timeout:s,onUploadProgress:e=>{e.total&&n?.(Math.round(e.loaded/e.total*100))}})).data}async function u(){return(await t.get(`/backup/scheduler`)).data}async function d(e){return(await t.patch(`/backup/scheduler`,e)).data}async function f(){return(await t.post(`/backup/scheduler/run`)).data}async function p(e){return(await t.get(`/backup/scheduler/backups/${encodeURIComponent(e)}`,{responseType:`arraybuffer`,timeout:s})).data}async function m(e){await t.delete(`/backup/scheduler/backups/${encodeURIComponent(e)}`)}var h=i(!1),g=i(`idle`),_=i(0),v=i(``),y=h;function b(e){e.theme&&localStorage.setItem(`theme`,JSON.stringify(e.theme)),e.language&&localStorage.setItem(`language`,e.language),e.ui&&localStorage.setItem(`ui`,JSON.stringify(e.ui))}function x(){async function t(t){let i=e();h.value=!0,g.value=`uploading`,_.value=0,v.value=``;try{let e=new FormData;e.append(`upload`,t),b(await l(e,e=>{_.value=e,e>=100&&(g.value=`restoring`)}))}catch(e){return h.value=!1,g.value=`idle`,v.value=r(e),i.add({severity:`error`,detail:v.value,life:1e4}),!1}g.value=`restarting`;let{beginServerRestart:s}=o();return s(),await a().catch(()=>{}),await n().logout(),h.value=!1,g.value=`idle`,!0}return{active:h,phase:g,uploadPercent:_,lastError:v,restoreLocalStorage:b,run:t}}export{p as a,f as c,c as i,x as n,u as o,m as r,d as s,y as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Br as e,ht as t}from"./vendor-cameraui-
|
|
1
|
+
import{Br as e,ht as t}from"./vendor-cameraui-B96_CDGO.js";import{Lt as n}from"./api-CdT8ZD-n.js";import{rn as r}from"./vendor-nVfLT5jI.js";import{F as i,R as a}from"./types-Br6AbfXl.js";function o(){let{data:e}=new n().getCamerasQuery({page:1,pageSize:-1});function t(t){return e.value?.result?.find(e=>e._id===t)?.name}return{cameraName:t}}function s(){let o=new n,{t:s}=e(),{data:c}=o.getCamerasQuery({page:1,pageSize:-1}),l=r(()=>c.value?.result??[]),u=r(()=>l.value.map(e=>({label:e.name,value:e._id})));function d(e){let{sensors:n,isLoading:i}=t(),a=r(()=>n.value.filter(t=>e?.(t)??!0).map(e=>{let t=s(`components.camera_options.sensor_type_${e.type}`),n=e.assignedCameraIds.value.map(e=>l.value.find(t=>t._id===e)?.name).filter(Boolean).join(`, `);return{label:`${e.displayName.value||e.name} (${t}${n?` · ${n}`:``})`,value:e.id,type:e.type}}));function o(e){return e?n.value.find(t=>t.id===e):void 0}return{sensorOptions:a,sensorById:o,isLoading:i}}function f(e,t=`observable`){return(t===`writable`?a(e):i(e)).map(e=>({label:s(`components.automation_nodes.sensor_property_${e}`),value:e}))}return{cameras:l,cameraOptions:u,useSensorOptions:d,getPropertiesForSensor:f}}export{s as n,o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mr as e}from"./api-
|
|
1
|
+
import{mr as e}from"./api-CdT8ZD-n.js";import{Kn as t}from"./vendor-nVfLT5jI.js";function n(n={}){let{target:r,onStdout:i,onDisconnect:a,onClearLog:o,onReconnected:s}=n,c=e(`/logs`),l=null,u=null,d=r,f=!1,p=0;r&&c.on(`stdout/${r}`,e=>i?.(e)),c.on(`clear-log`,e=>o?.(e??`all`)),c.onReady(()=>{f&&s?.(),f=!0,l?.()}),t(c.connected,(e,t)=>{!e&&t&&a?.()});function m(){}function h(){}function g(e){e>0&&(p=e),d&&e>0&&c.emit(`term-size`,{target:d,cols:e})}function _(e){return e.kind===`all`?`stdout`:e.kind===`system`?`stdout/system/${e.id}`:`stdout/${e.id}`}function v(e,t){u?.(),u=c.on(_(e),e=>i?.(e)),d=e.kind===`all`?void 0:e.id,p>0&&g(p),l=()=>{switch(e.kind){case`all`:c.emit(`get-all-logs`);break;case`system`:c.emit(`get-system-log`,e.id,t);break;case`camera`:c.emit(`get-camera-log`,e.id,t);break;case`plugin`:c.emit(`get-plugin-log`,e.id,t)}},l()}function y(){l=()=>c.emit(`get-all-logs`),l()}function b(e,t){l=()=>c.emit(`get-camera-log`,e,t),l()}function x(e,t){l=()=>c.emit(`get-plugin-log`,e,t),l()}return{isConnected:c.connected,connect:m,disconnect:h,reportSize:g,switchSource:v,requestAllLogs:y,requestCameraLog:b,requestPluginLog:x}}export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Sn as e,b as t,g as n}from"./api-
|
|
1
|
+
import{Sn as e,b as t,g as n}from"./api-CdT8ZD-n.js";import{rn as r}from"./vendor-nVfLT5jI.js";import{p as i}from"./vendor-core-DFWGbWRD.js";var a=[`main`,`manage`,`system`],o=[`main`,`manage`,`system`,`settings`],s={main:!1,manage:!1,system:!0,settings:!0};function c(e){return e.meta?.navbar?.position===`top`?`main`:e.meta?.navbar?.group??`main`}function l(){let a=n(),{user:l}=i(a),u=r(()=>l.value?.navLayout??{}),d=r(()=>{let n=[];for(let r of t)!r.meta?.navbar||r.meta.navbar.position!==`top`&&!r.meta.navbar.group||!e(r)||n.push({route:r,name:r.name,labelKey:r.name.toLowerCase(),to:r.path,icon:r.meta.navbar.icon.default,activeIcon:r.meta.navbar.icon.active,defaultGroup:c(r),kind:`page`});let r=t.find(e=>e.name===`Settings`);for(let t of r?.children??[])!t.meta?.settingsBar||!e(t)||n.push({route:t,name:t.name,labelKey:t.meta.name,to:`/settings/${t.path}`,icon:t.meta.settingsBar.icon.default,activeIcon:t.meta.settingsBar.icon.active,defaultGroup:`settings`,kind:`settings`});return n}),f=r(()=>{let e=new Map(d.value.map(e=>[e.name,e])),t={main:[],manage:[],system:[],settings:[]},n=new Set;for(let r of o)for(let i of u.value.order?.[r]??[]){let a=e.get(i);!a||n.has(i)||(t[r].push(a),n.add(i))}for(let e of d.value)n.has(e.name)||t[e.defaultGroup].push(e);return t}),p=r(()=>new Set(u.value.hidden??[])),m=r(()=>u.value.settingsInNav??!1);function h(e){if(!l.value)return;let t={...u.value,...e};for(let e of Object.keys(t))t[e]===void 0&&delete t[e];t.order&&Object.keys(t.order).length===0&&delete t.order,t.collapsible&&Object.keys(t.collapsible).length===0&&delete t.collapsible,t.hidden&&t.hidden.length===0&&delete t.hidden,t.settingsInNav||delete t.settingsInNav;let n=Object.keys(t).length?t:null;l.value={...l.value,navLayout:n},a.updateUser({preferences:{navLayout:n}})}function g(e){return u.value.collapsible?.[e]??s[e]}function _(e,t){let n={...u.value.collapsible};t===s[e]?delete n[e]:n[e]=t,h({collapsible:n})}function v(e){h({settingsInNav:e})}function y(e){return p.value.has(e)}function b(e){let t=new Set(p.value);t.has(e)?t.delete(e):t.add(e),h({hidden:[...t]})}function x(e){let t={main:[...e.main],manage:[...e.manage],system:[...e.system],settings:[...e.settings]},n=u.value.order;n&&o.every(e=>{let r=n[e]??[];return r.length===t[e].length&&r.every((n,r)=>n===t[e][r])})||h({order:t})}function S(){h({order:void 0,hidden:void 0})}return{entries:d,groups:f,settingsInNav:m,isCollapsible:g,isHidden:y,toggleHidden:b,setCollapsible:_,setSettingsInNav:v,persistOrder:x,resetOrder:S}}export{a as n,l as r,o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ar as e}from"./vendor-
|
|
1
|
+
import{ar as e}from"./vendor-nVfLT5jI.js";import{i as t}from"./intercomService-CT_KVjly.js";var n=e({microphone:`unknown`,location:`unknown`,notifications:`unknown`});function r(){let{isElectronApp:e,electron:r}=t(),a=e;async function o(){await Promise.all([s(),c(),l()])}async function s(){if(e&&r){n.microphone=await r.invoke(`get-mic-access`)??`unknown`;return}n.microphone=await i(`microphone`)}async function c(){n.location=await i(`geolocation`)}async function l(){if(typeof Notification>`u`){n.notifications=`unknown`;return}n.notifications=Notification.permission==="default"?`prompt`:Notification.permission}async function u(t){if(t===`microphone`){if(e&&r)await r.invoke(`ask-mic-access`);else try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{}await s();return}if(t===`location`){await new Promise(e=>{navigator.geolocation.getCurrentPosition(()=>e(),()=>e(),{timeout:1e4})}),await c();return}typeof Notification<`u`&&await Notification.requestPermission(),await l()}async function d(){e&&r&&await r.invoke(`open-mic-settings`)}return{states:n,canOpenSettings:a,refresh:o,request:u,openSettings:d}}async function i(e){try{let t=await navigator.permissions.query({name:e});return t.state===`granted`?`granted`:t.state===`denied`?`denied`:`prompt`}catch{return`unknown`}}export{r as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Qn as e,ar as t}from"./vendor-
|
|
1
|
+
import{Qn as e,ar as t}from"./vendor-nVfLT5jI.js";import{t as n}from"./useLogsSocket-DW5Ll9qN.js";var r=2e3,i=t({});function a(){function t(e){return i[e]}function a(e){return i[e]?.status===`updating`}async function o(t,a,o){if(i[t]?.status===`updating`)return!1;i[t]={status:`updating`,lines:[],version:a};let s=i[t],c=e(!0);c.run(()=>{n({target:t,onStdout:e=>{s.lines.push(e),s.lines.length>r&&s.lines.splice(0,s.lines.length-r)}})});try{return await o(),s.status=`success`,!0}catch(e){return s.status=`error`,s.error=e?.response?.data?.message??e?.message??String(e),!1}finally{c.stop()}}return{runs:i,runOf:t,isUpdating:a,startUpdate:o}}export{a as t};
|
package/dist/interface/assets/{usePushRegistration-CR4ZsM1s.js → usePushRegistration-Cp-oFaYU.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./esm-
|
|
2
|
-
import"./vendor-cameraui-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./esm-B9CzQCu4.js","./vendor-capacitor-NWfzfsQC.js","./vendor-nVfLT5jI.js","./rolldown-runtime-C0FnF6B9.js","./dist-CA3CfqGE.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import"./vendor-cameraui-B96_CDGO.js";import"./api-CdT8ZD-n.js";import{Rt as e,sr as t}from"./vendor-nVfLT5jI.js";import{a as n}from"./intercomService-CT_KVjly.js";import"./notifications-B_hY7DqC.js";n(`PushRegistration`);var r=`cui.push.registrations`;t(!1);var i=null;function a(){return{registerForPush:async()=>{},forgetIfThisDevice:async(e,t)=>{if(!e)return;let n=await c(e);!n||n.deviceId!==t||(await u(e),await f(e))},getSyncState:async(e,t)=>({status:`unknown`}),restoreMarker:async(e,t)=>{await c(e)||await l(e,{deviceId:t,enabledAt:Date.now()})}}}async function o(){try{let{Preferences:t}=await e(async()=>{let{Preferences:e}=await import(`./esm-B9CzQCu4.js`);return{Preferences:e}},__vite__mapDeps([0,1,2,3]),import.meta.url),{value:n}=await t.get({key:r});return n?JSON.parse(n):{}}catch{return{}}}async function s(t){try{let{Preferences:n}=await e(async()=>{let{Preferences:e}=await import(`./esm-B9CzQCu4.js`);return{Preferences:e}},__vite__mapDeps([0,1,2,3]),import.meta.url);await n.set({key:r,value:JSON.stringify(t)})}catch{}}async function c(e){return(await o())[e]??null}async function l(e,t){let n=await o();n[e]=t,await s(n)}async function u(e){let t=await o();t[e]&&(delete t[e],await s(t))}function d(){return i??=(async()=>{try{let{Capacitor:t,registerPlugin:n}=await e(async()=>{let{Capacitor:e,registerPlugin:t}=await import(`./dist-CA3CfqGE.js`);return{Capacitor:e,registerPlugin:t}},__vite__mapDeps([4,2,3]),import.meta.url);return t.isPluginAvailable(`PushCrypto`)?{plugin:n(`PushCrypto`)}:{plugin:null}}catch{return{plugin:null}}})(),i}async function f(e){try{let{plugin:t}=await d();await t?.deleteKey({serverId:e})}catch{}}export{a as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Tr as e}from"./api-
|
|
1
|
+
import{Tr as e}from"./api-CdT8ZD-n.js";import{Kn as t,Qn as n,sr as r}from"./vendor-nVfLT5jI.js";var i=r(!1),a=null,o;function s(){a||(a=n(!0),a.run(()=>{let n=e();t(n.bannerMode,e=>{e!==null&&i.value&&(clearTimeout(o),i.value=!1)})}));function r(){i.value=!0,clearTimeout(o),o=setTimeout(()=>{i.value=!1},15e3)}return{restarting:i,beginServerRestart:r}}export{s as n,i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mr as e}from"./api-
|
|
1
|
+
import{mr as e}from"./api-CdT8ZD-n.js";import{Qn as t,ar as n,rn as r}from"./vendor-nVfLT5jI.js";var i=1e4,a=n({streamStatus:{}}),o=null,s=null,c;function l(){s?.emit(`get-stream-status`)}function u(){return s||(o=t(!0),o.run(()=>{let t=e(`/camera.ui`);s=t,t.on(`stream-status`,e=>{a.streamStatus=e}),t.onReady(()=>{l()})}),c||=setInterval(l,i),s)}function d(e){let t=Object.values(e);if(t.length===0)return`idle`;let n=t.filter(e=>e===`connected`).length,r=t.filter(e=>e===`error`).length,i=t.filter(e=>e===`connecting`).length;return n===t.length?`connected`:r===t.length?`error`:i>0&&n===0&&r===0?`connecting`:n>0&&(r>0||t.some(e=>e===`idle`))?`partial`:n>0?`connected`:i>0?`connecting`:`idle`}function f(){function e(){u()}function t(){}function n(e){let t=a.streamStatus[e];return t?d(t):`idle`}function i(e){return a.streamStatus[e]}function o(e,t){return a.streamStatus[e]?.[t]??`idle`}return{streamStatus:r(()=>a.streamStatus),getCameraStatus:n,getCameraSources:i,getSourceStatus:o,connect:e,disconnect:t,refresh:l}}export{f as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{pi as e,yi as t}from"./vendor-cameraui-
|
|
1
|
+
import{pi as e,yi as t}from"./vendor-cameraui-B96_CDGO.js";import{Fn as n}from"./api-CdT8ZD-n.js";import{Kn as r,sr as i}from"./vendor-nVfLT5jI.js";var a=[`INPUT`,`TEXTAREA`,`SELECT`,`BUTTON`],o=[`.p-datatable`,`.no-tab-swipe`];function s(s,c,l={}){let{isTouch:u}=n(),d=[...o,...l.exclude??[]],f=i(!0);function p(e){let t=e;for(;t&&t!==s.value;){if(t.scrollWidth>t.clientWidth+1){let e=getComputedStyle(t).overflowX;if(e===`auto`||e===`scroll`)return!0}t=t.parentElement}return!1}function m(e){let t=e.target;(a.includes(t.tagName)||d.some(e=>t.closest(e))||p(t))&&(f.value=!1)}function h(){f.value=!0}let{isSwiping:g,direction:_}=u.value?t(s,{threshold:50,onSwipeStart:m,onSwipeEnd:h}):e(s,{threshold:50,onSwipeStart:m,onSwipeEnd:h});r([g,_],()=>{g.value&&f.value&&(_.value===`left`||_.value===`right`)&&c(_.value)})}export{s as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Or as e}from"./api-
|
|
1
|
+
import{Or as e}from"./api-CdT8ZD-n.js";import{Kn as t,rn as n}from"./vendor-nVfLT5jI.js";import{t as r}from"./config-DOFSd8-0.js";`${e}`;async function i(e){}function a(){let e=new r,{data:a}=e.getConfigQuery(!0),{mutateAsync:o}=e.patchConfigQuery(),s=n(()=>a.value&&typeof a.value!=`string`?a.value:void 0),c=n(()=>s.value?.betaUpdates??!1);return t(()=>s.value?.betaUpdates,e=>{e!==void 0&&i(e)},{immediate:!0}),{isBeta:c,setBeta:async e=>{let t=s.value;!t||t.betaUpdates===e||await o({configData:JSON.stringify({...t,betaUpdates:e})})}}}export{a as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{mr as e}from"./api-
|
|
1
|
+
import{mr as e}from"./api-CdT8ZD-n.js";import{Qn as t,ar as n,rn as r}from"./vendor-nVfLT5jI.js";var i=n({status:null}),a=null,o=null,s=new Set;function c(){return o||(a=t(!0),a.run(()=>{let t=e(`/camera.ui`);o=t,t.on(`updates-status`,e=>{i.status=e;for(let e of s)try{e()}catch{}}),t.onReady(()=>{for(let e of s)try{e()}catch{}})}),o)}function l(){function e(){c()}function t(e){return s.add(e),()=>s.delete(e)}return{status:r(()=>i.status),connect:e,onStatus:t}}export{l as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{br as e}from"./api-CdT8ZD-n.js";import{rn as t}from"./vendor-nVfLT5jI.js";function n(){let{data:n}=new e().getUsersQuery({page:1,pageSize:-1});return{userOptions:t(()=>(n.value?.result??[]).map(e=>({label:e.username,value:e.username})))}}export{n as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Mn as e,in as t,rr as n,sn as r}from"./vendor-
|
|
1
|
+
import{Mn as e,in as t,rr as n,sn as r}from"./vendor-nVfLT5jI.js";var i={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function a(n,a){return e(),r(`svg`,i,[...a[0]||=[t(`path`,{fill:`currentColor`,d:`M20.41 3c1.39 2.71 1.94 5.84 1.59 9c-.2 3.16-1.3 6.29-3.17 9l-1.53-1c1.61-2.43 2.55-5.2 2.7-8c.34-2.8-.11-5.57-1.3-8zM5.17 3L6.7 4C5.09 6.43 4.15 9.2 4 12c-.34 2.8.12 5.57 1.3 8l-1.69 1c-1.4-2.71-1.96-5.83-1.61-9c.2-3.16 1.3-6.29 3.17-9m6.91 7.68l2.32-3.23h2.53l-3.78 5l2.2 4.92h-2.26L11.71 14l-2.43 3.33H6.76l3.9-5.12l-2.13-4.76h2.27z`},null,-1)]])}var o=n({name:`mdi-variable`,render:a});export{o as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,i as t,n,o as r,r as i,t as a}from"./rolldown-runtime-C0FnF6B9.js";import{$ as o,$n as s,$t as c,An as l,At as u,Bt as d,Cn as f,Ct as p,Dn as m,Dt as h,Et as g,Fn as _,Ft as v,Gt as y,Ht as b,In as x,It as S,Kn as C,Kt as w,Ln as T,Lt as E,Mn as D,Mt as O,Nn as k,Nt as A,Ot as j,Pn as M,Pt as N,Q as P,Qn as F,Qt as I,Rn as L,St as ee,Tt as te,Ut as R,Vn as z,Vt as B,Wn as ne,Wt as re,X as ie,Xn as ae,Xt as oe,Y as se,Yn as ce,Z as le,Zn as ue,Zt as de,_n as fe,_t as pe,an as me,ar as he,at as ge,bt as _e,ct as ve,dn as ye,dr as be,dt as xe,et as Se,fn as Ce,fr as we,ft as Te,gr as Ee,gt as De,hn as Oe,hr as V,ht as ke,in as H,ir as Ae,it as je,jn as Me,jt as Ne,kt as Pe,ln as Fe,lr as Ie,lt as Le,mn as Re,mr as U,mt as ze,nn as Be,nr as Ve,nt as He,on as W,or as Ue,ot as We,pr as Ge,pt as Ke,qn as qe,rn as G,rr as Je,rt as Ye,sn as K,sr as q,st as Xe,tn as Ze,tt as Qe,ur as J,ut as $e,vn as et,vr as tt,vt as nt,wn as rt,wt as it,xt as at,yn as ot,yr as st,yt as ct,zt as lt}from"./vendor-
|
|
1
|
+
import{a as e,i as t,n,o as r,r as i,t as a}from"./rolldown-runtime-C0FnF6B9.js";import{$ as o,$n as s,$t as c,An as l,At as u,Bt as d,Cn as f,Ct as p,Dn as m,Dt as h,Et as g,Fn as _,Ft as v,Gt as y,Ht as b,In as x,It as S,Kn as C,Kt as w,Ln as T,Lt as E,Mn as D,Mt as O,Nn as k,Nt as A,Ot as j,Pn as M,Pt as N,Q as P,Qn as F,Qt as I,Rn as L,St as ee,Tt as te,Ut as R,Vn as z,Vt as B,Wn as ne,Wt as re,X as ie,Xn as ae,Xt as oe,Y as se,Yn as ce,Z as le,Zn as ue,Zt as de,_n as fe,_t as pe,an as me,ar as he,at as ge,bt as _e,ct as ve,dn as ye,dr as be,dt as xe,et as Se,fn as Ce,fr as we,ft as Te,gr as Ee,gt as De,hn as Oe,hr as V,ht as ke,in as H,ir as Ae,it as je,jn as Me,jt as Ne,kt as Pe,ln as Fe,lr as Ie,lt as Le,mn as Re,mr as U,mt as ze,nn as Be,nr as Ve,nt as He,on as W,or as Ue,ot as We,pr as Ge,pt as Ke,qn as qe,rn as G,rr as Je,rt as Ye,sn as K,sr as q,st as Xe,tn as Ze,tt as Qe,ur as J,ut as $e,vn as et,vr as tt,vt as nt,wn as rt,wt as it,xt as at,yn as ot,yr as st,yt as ct,zt as lt}from"./vendor-nVfLT5jI.js";var ut=`__cuiLoggerState__`;function dt(){let e=globalThis,t=e[ut];return t||(t={capacity:600,entries:[],storeListeners:new Set,debugEnabled:!1,scopeOverrides:new Map,recording:!1,flagListeners:new Set},e[ut]=t),t}function ft(e,t){let n=dt();t?n.scopeOverrides.set(t,e):n.debugEnabled=e,vt()}function pt(e){dt().scopeOverrides.delete(e)&&vt()}function mt(e){let t=dt();return e!==void 0&&t.scopeOverrides.has(e)?t.scopeOverrides.get(e):t.debugEnabled}function ht(e){dt().recording=e,vt()}function gt(){return dt().recording}function _t(e){let{flagListeners:t}=dt();return t.add(e),()=>{t.delete(e)}}function vt(){let e=dt();for(let t of e.flagListeners)try{t()}catch{}}function yt(e){return(console[e]??console.log).bind(console)}var bt={log:yt(`log`),debug:yt(`debug`),info:yt(`info`),warn:yt(`warn`),error:yt(`error`)};function xt(e){dt().capacity=Math.max(1,Math.floor(e)),Dt()}function St(e){dt().entries.push(e),Dt(),Ot()}function Ct(){return dt().entries.slice()}function wt(){dt().entries=[],Ot()}function Tt(e){let t=dt();t.entries=e.slice(-t.capacity),Ot()}function Et(e){let{storeListeners:t}=dt();return t.add(e),()=>{t.delete(e)}}function Dt(){let e=dt();e.entries.length>e.capacity&&e.entries.splice(0,e.entries.length-e.capacity)}function Ot(){let e=dt();for(let t of e.storeListeners)try{t(e.entries)}catch{}}function kt(e){if(typeof e==`string`)return e;if(e===void 0)return`undefined`;if(e===null)return`null`;if(e instanceof Error)return`${e.name}: ${e.message}${e.stack?`\n${e.stack}`:``}`;if(typeof e!=`object`)return String(e);try{let t=new WeakSet;return JSON.stringify(e,(e,n)=>{if(typeof n==`bigint`)return`${n}n`;if(typeof n==`function`)return`[Function ${n.name||`anonymous`}]`;if(typeof n==`object`&&n){if(t.has(n))return`[Circular]`;t.add(n)}return n})}catch{try{return String(e)}catch{return`[Unserializable]`}}}var At=/%[sdifoOjc%]/g,jt=/%[sdifoOjc]/;function Mt(e){let t=e[0];if(typeof t!=`string`||!jt.test(t))return e.map(kt).join(` `);let n=e.slice(1),r=0,i=t.replace(At,e=>{if(e===`%%`)return`%`;if(r>=n.length)return e;let t=n[r++];switch(e){case`%s`:return typeof t==`string`?t:kt(t);case`%d`:case`%i`:{let e=typeof t==`number`?t:Number(t);return Number.isNaN(e)?`NaN`:String(Math.trunc(e))}case`%f`:{let e=typeof t==`number`?t:Number(t);return Number.isNaN(e)?`NaN`:String(e)}case`%c`:return``;default:return kt(t)}}),a=n.slice(r).map(kt).join(` `);return a?`${i} ${a}`:i}function Nt(e,t=2){return String(e).padStart(t,`0`)}function Pt(e=Date.now()){let t=new Date(e);return`${Nt(t.getHours())}:${Nt(t.getMinutes())}:${Nt(t.getSeconds())}.${Nt(t.getMilliseconds(),3)}`}var Ft={debug:`debug`,log:`log`,info:`info`,warn:`warn`,error:`error`},It=class e{scope;constructor(e){this.scope=e}static scope(t){return new e(t)}debug(...e){this.emit(`debug`,e)}log(...e){this.emit(`log`,e)}info(...e){this.emit(`info`,e)}warn(...e){this.emit(`warn`,e)}error(...e){this.emit(`error`,e)}emit(e,t){if(e===`debug`&&!mt(this.scope))return;let n=`[${this.scope} ${Pt()}]`;typeof t[0]==`string`?bt[Ft[e]](`${n} ${t[0]}`,...t.slice(1)):bt[Ft[e]](n,...t),gt()&&St({t:Date.now(),level:e,scope:this.scope,msg:Mt(t)})}static setDebug(e,t){ft(e,t)}static isDebug(e){return mt(e)}static clearScope(e){pt(e)}static setRecording(e){ht(e)}static isRecording(){return gt()}static onChange(e){return _t(e)}static entries(){return Ct()}static clear(){wt()}static onEntries(e){return Et(e)}static setCapacity(e){xt(e)}},Lt=!1,Rt={log:`log`,debug:`debug`,info:`info`,warn:`warn`,error:`error`};function zt(){if(Lt)return;Lt=!0;for(let e of[`log`,`debug`,`info`,`warn`,`error`]){let t=Rt[e],n=bt[e];console[e]=(...e)=>{gt()&&St({t:Date.now(),level:t,scope:`console`,msg:Mt(e)}),n(...e)}}let e=globalThis;e.addEventListener?.(`error`,e=>{if(!gt())return;let t=e?.filename?` ${e.filename}:${e.lineno}:${e.colno}`:``;St({t:Date.now(),level:`error`,scope:`window`,msg:`[onerror] ${e?.message??``}${t}`.trim()})}),e.addEventListener?.(`unhandledrejection`,e=>{gt()&&St({t:Date.now(),level:`error`,scope:`window`,msg:`[unhandledrejection] ${kt(e?.reason)}`})})}function Bt(e){return!!e&&typeof e==`object`&&e.__cui_logger__===!0}var Vt=`cui-logger-debug`,Ht=`cui-logger-recording`,Ut=`cui-logger-buffer`,Wt=400,Gt=null,Kt=null;function qt(e){Gt=e;try{let t=e.getItem(Vt);(t===`1`||t===`0`)&&ft(t===`1`);let n=e.getItem(Ht);(n===`1`||n===`0`)&&ht(n===`1`)}catch{}try{let t=e.getItem(Ut);if(t){let e=JSON.parse(t);Array.isArray(e)&&Tt(e)}}catch{}_t(()=>{try{Gt?.setItem(Vt,mt()?`1`:`0`),Gt?.setItem(Ht,gt()?`1`:`0`)}catch{}}),Et(()=>Yt()),Yt()}function Jt(){if(Kt&&=(clearTimeout(Kt),null),Gt)try{Gt.setItem(Ut,JSON.stringify(Ct()))}catch{}}function Yt(){!Gt||Kt||(Kt=setTimeout(()=>{Kt=null,Jt()},Wt))}var Xt=[{pattern:/\bBearer\s+[A-Za-z0-9._-]+/gi,replacement:`Bearer ***`},{pattern:/\beyJ[A-Za-z0-9._-]{10,}/g,replacement:`***jwt***`},{pattern:/([a-z][a-z0-9+.-]*:\/\/)([^:/@\s]+):([^@/\s]+)@/gi,replacement:`$1$2:***@`},{pattern:/\b(set-cookie|cookie)\b\s*[:=]\s*[^\s;]+/gi,replacement:`$1: ***`},{pattern:/("?\b(?:password|passwd|pwd|secret|token|apikey|api_key|access_token|refresh_token|authorization)\b"?\s*[:=]\s*)"?[^",}\s]+"?/gi,replacement:`$1***`}];function Zt(e,t=Xt){let n=e;for(let e of t)n=n.replace(e.pattern,e.replacement??`***`);return n}function Qt(e=Ct()){return e.map(e=>`${Pt(e.t)} [${e.level.toUpperCase()}] [${e.scope}] ${e.msg}`).join(`
|
|
2
2
|
`)}function $t(e={}){let t=e.entries??Ct(),n=`${e.context?`${en(e.context)}\n\n`:``}${Qt(t)}`;return e.redact===!1?n:Zt(n,Array.isArray(e.redact)?e.redact:Xt)}function en(e){return[`===== camera.ui diagnostics =====`,...Object.entries(e).map(([e,t])=>`${e}: ${typeof t==`string`?t:JSON.stringify(t)}`)].join(`
|
|
3
3
|
`)}function tn(e){let t=e=>{Bt(e.data)&&e.data.type===`entry`&&St(e.data.entry)};e.addEventListener?.(`message`,t);let n=()=>e.postMessage({__cui_logger__:!0,type:`flag`,debug:mt(),recording:gt()});n();let r=_t(n);return()=>{e.removeEventListener?.(`message`,t),r()}}function nn(e,t){return e===t||!(!e||!t||e.endpoint.url!==t.endpoint.url||e.endpoint.mode!==t.endpoint.mode||e.tokens.access!==t.tokens.access||(e.tokens.proxySession??null)!==(t.tokens.proxySession??null))}function rn(e,t){return e===t?!1:!e||!t||e.endpoint.url!==t.endpoint.url||e.endpoint.mode!==t.endpoint.mode}var an=class{listeners=new Map;on(e,t){let n=this.listeners.get(e);return n||(n=new Set,this.listeners.set(e,n)),n.add(t),()=>{n.delete(t)}}emit(e,t){let n=this.listeners.get(e);if(n)for(let e of[...n])e(t)}clear(){this.listeners.clear()}};function on(e){let t=typeof e==`string`?void 0:e,n=t?.wsCloseCode??t?.code;if(n===4401||n===1008)return`auth-expired`;if(n===4403||n===4400)return`forbidden`;let r=(typeof e==`string`?e:t?.reason??t?.message??``).toLowerCase();return r?r.includes(`forbidden`)||r.includes(`403`)?`forbidden`:r.includes(`unauthorized`)||r.includes(`401`)||r.includes(`auth`)?`auth-expired`:`other`:`other`}var sn=5e3;function cn(e,t,n){switch(t.type){case`RESET`:return e.kind===`idle`?e:{kind:`idle`};case`BOOT`:return e.kind!==`idle`&&e.kind!==`offline`&&e.kind!==`needs-auth`?e:{kind:`discovering`,instanceId:t.instanceId};case`USER_RETRY`:return e.kind===`offline`||e.kind===`needs-auth`?{kind:`discovering`,instanceId:e.instanceId??``}:e;case`PROBE_SUCCEEDED`:return e.kind===`discovering`?{kind:`online`,instanceId:e.instanceId,target:{endpoint:t.endpoint,tokens:t.tokens}}:e;case`PROBE_FAILED_ALL`:return e.kind!==`discovering`&&e.kind!==`online`?e:t.error===`needs-auth`?{kind:`needs-auth`,instanceId:e.instanceId,reason:t.error}:{kind:`offline`,instanceId:e.instanceId,lastError:t.error,nextRetryAt:n.now()+sn};case`TOKENS_REFRESHED`:return e.kind===`online`?ln(e.target.tokens,t.tokens)?e:{...e,target:{...e.target,tokens:t.tokens}}:e.kind===`discovering`?e.pendingTokens&&ln(e.pendingTokens,t.tokens)?e:{...e,pendingTokens:t.tokens}:e;case`TOKENS_INVALID`:return e.kind===`online`?t.transient===!0?{kind:`offline`,instanceId:e.instanceId,lastError:`tokens invalid: ${t.reason}`,nextRetryAt:n.now()+sn}:{kind:`needs-auth`,instanceId:e.instanceId,reason:`tokens invalid: ${t.reason}`}:e;case`ENDPOINT_SWAP`:return e.kind===`online`?e.target.endpoint.url===t.endpoint.url&&e.target.endpoint.mode===t.endpoint.mode?ln(e.target.tokens,t.tokens)?e:{...e,target:{...e.target,tokens:t.tokens}}:{...e,target:{endpoint:t.endpoint,tokens:t.tokens}}:e;case`BACKOFF_HINT`:{if(e.kind!==`offline`)return e;let r=n.now(),i=r+t.retryAfterMs;return i<=e.nextRetryAt?e:{...e,nextRetryAt:i,backoffHint:{retryAfterMs:t.retryAfterMs,setAt:r,source:t.source}}}}}function ln(e,t){return e.access===t.access&&e.refresh===t.refresh&&e.accessExpiresAt===t.accessExpiresAt&&e.refreshExpiresAt===t.refreshExpiresAt&&e.proxySession===t.proxySession&&e.proxySessionExpiresAt===t.proxySessionExpiresAt&&e.proxyRefresh===t.proxyRefresh}var un=new It(`kernel`);function dn(e){let t=e.initial??{kind:`idle`},n=new Set,r=[],i=!1,a=!1;function o(o){if(!a){if(i){r.push(o);return}i=!0;try{let i=o;for(;i;){let a=t,o=cn(a,i,e.context);if(e.onAction)try{e.onAction(i,a,o)}catch(e){un.warn(`onAction threw on`,i.type,e)}if(o!==a){t=o;for(let e of[...n])try{e(o,a,i)}catch(e){un.warn(`listener threw on`,i.type,e)}}i=r.shift()}}finally{i=!1}}}function s(e){return n.add(e),()=>{n.delete(e)}}function c(){a=!0,n.clear(),r.length=0}return{get phase(){return t},dispatch:o,subscribe:s,dispose:c}}var fn={"direct-lan":2e3,"direct-wan":5e3},pn=400,mn=class extends Error{endpoint;cause;kind;constructor(e,t,n,r){super(e),this.name=`RaceFirstError`,this.endpoint=t,this.cause=n,this.kind=r}};function hn(e,t={}){let{timeoutByMode:n=e=>fn[e]??5e3,shortCircuit:r,informative:i,parentSignal:a,prefer:o}=t,s=t.preferGraceMs??pn;return new Promise((t,c)=>{if(e.length===0){c(new mn(`raceFirst: no candidates`,{url:``,mode:`direct-lan`},void 0,`all-failed`));return}if(a?.aborted){c(new mn(`raceFirst: parent aborted`,e[0].endpoint,void 0,`aborted`));return}let l=!1,u=e.length,d=o?e.filter(e=>o(e.endpoint)).length:0,f=null,p=new Map,m=[],h=[];function g(e){for(let e of h)clearTimeout(e);for(let t of m)t!==e&&t.abort(`race-settled`)}function _(e,n,r){l||(l=!0,g(r),x&&a?.removeEventListener(`abort`,x),t({endpoint:e,value:n}))}function v(){f&&_(f.endpoint,f.value,f.ctrl)}function y(e,t,n){if(l)return;if(!o||o(e)||d<=0){_(e,t,n);return}if(f)return;f={endpoint:e,value:t,ctrl:n};let r=setTimeout(v,s);h.push(r)}function b(e){l||(l=!0,g(null),x&&a?.removeEventListener(`abort`,x),c(e))}let x=a?()=>b(new mn(`raceFirst: parent aborted`,e[0].endpoint,void 0,`aborted`)):null;x&&a.addEventListener(`abort`,x),e.forEach(e=>{let t=new AbortController;m.push(t);let s=n(e.endpoint.mode),c=setTimeout(()=>t.abort(`race-timeout`),s);h.push(c),e.run(t.signal).then(n=>y(e.endpoint,n,t),n=>{if(l){p.set(e.endpoint,n);return}if(o?.(e.endpoint)&&(d--,f&&d<=0)){p.set(e.endpoint,n),v();return}let c=t.signal.aborted&&!a?.aborted?new mn(`timeout (${s}ms)`,e.endpoint,n,`all-failed`):n;if(p.set(e.endpoint,c),r?.(c)){b(new mn(`raceFirst: short-circuit`,e.endpoint,c,`short-circuit`));return}if(u--,u<=0){let t=[...p.entries()].filter(([,e])=>e instanceof mn?e.kind!==`all-failed`||!(e.cause instanceof Error&&e.cause.message===`aborted`):!0),[n,r]=(i?t.find(([,e])=>i(e instanceof mn?e.cause:e)):void 0)??t[0]??[e.endpoint,c];b(new mn(`raceFirst: all candidates failed`,n,r,`all-failed`))}})})})}function gn(e){let t=null,n=!1;async function r(){if(e.kernel.phase.kind!==`online`)return e.onResult?.(`skipped`,`phase=${e.kernel.phase.kind}`),`skipped`;let t=new AbortController;try{let r=await e.discover(t.signal);if(n||e.kernel.phase.kind!==`online`)return`skipped`;if(r.length===0)return e.onResult?.(`failed`,`empty pool`),`failed`;let i=e.lastTarget?.()?.tokens,{endpoint:a,value:o}=await hn(r.map(t=>({endpoint:t,run:n=>e.probe({endpoint:t,lastTokens:i,signal:n})})),{timeoutByMode:e.timeoutByMode,parentSignal:t.signal,prefer:e.prefer,preferGraceMs:e.preferGraceMs});if(n)return`skipped`;let s=e.kernel.phase;if(s.kind!==`online`)return e.onResult?.(`skipped`,`phase=${s.kind}`),`skipped`;let c=s.target.endpoint,l=c.url===a.url&&c.mode===a.mode;if(!l&&e.prefer&&e.prefer(c)&&!e.prefer(a)&&e.isCurrentHealthy?.()===!0)return e.onResult?.(`kept`,c.url),`kept`;e.kernel.dispatch({type:`ENDPOINT_SWAP`,endpoint:a,tokens:o});let u=l?`same`:`swap`;return e.onResult?.(u,a.url),u}catch(t){return e.onResult?.(`failed`,t instanceof Error?t.message:String(t)),`failed`}}return{run(){return n?Promise.resolve(`skipped`):t||(t=r().finally(()=>{t=null}),t)},dispose(){n=!0}}}var _n=[5e3,1e4,3e4,6e4];function vn(e){let t=e.schedule??_n;if(t.length===0)throw Error(`backoff: schedule must have at least one entry`);let n=e.now??(()=>Date.now()),r=e.setTimer??((e,t)=>setTimeout(e,t)),i=e.clearTimer??(e=>clearTimeout(e)),a,o=0,s=!1;function c(t){a!==void 0&&(i(a),a=void 0,t&&e.onCancelled?.(t))}function l(i,l){c(l?`rescheduled`:void 0);let u=t[Math.min(o,t.length-1)],d=o===0?e.firstAttemptDelayMs?.():void 0,f=typeof d==`number`&&d>=0?Math.min(d,u):u,p=Math.max(0,i.nextRetryAt-n()),m=Math.max(f,p);e.onScheduled?.(o+1,m),i.backoffHint&&p>f&&e.onHintApplied?.(m,i.backoffHint.source),a=r(()=>{a=void 0,!s&&e.kernel.phase.kind===`offline`&&(o+=1,e.onFire?.(o),e.kernel.dispatch({type:`USER_RETRY`}))},m)}let u=e.kernel.subscribe((e,t)=>{if(e.kind===`offline`&&t.kind!==`offline`){l(e,!1);return}if(e.kind===`offline`&&t.kind===`offline`&&e.nextRetryAt!==t.nextRetryAt){l(e,!0);return}t.kind===`offline`&&e.kind!==`offline`&&c(`phase-left-offline`),(e.kind===`online`||e.kind===`idle`)&&(o=0)});return e.kernel.phase.kind===`offline`&&l(e.kernel.phase,!1),()=>{s=!0,c(`detach`),u()}}var yn=`camera.ui:transport:target`;function bn(e){let t=e.key??yn,n=e.source??(typeof window<`u`?window:void 0);if(!n)throw Error("attachCrossTab: no `source` provided and no global `window` available");function r(n){let r=n;if(r.key!==t)return;if(r.newValue===null){if(e.absorb?.(null),e.kernel.phase.kind!==`online`)return;e.kernel.dispatch({type:`RESET`}),e.onResetReceived?.();return}let i;try{i=JSON.parse(r.newValue)}catch(t){e.onError?.(`parse`,t);return}if(i?.tokens?.access){if(e.kernel.phase.kind!==`online`){i.endpoint?.url&&(e.absorb?.({endpoint:i.endpoint,tokens:i.tokens}),e.onTokensReceived?.(i.tokens));return}e.kernel.dispatch({type:`TOKENS_REFRESHED`,tokens:i.tokens}),e.onTokensReceived?.(i.tokens)}}return n.addEventListener(`storage`,r),()=>{n.removeEventListener(`storage`,r)}}var xn=1e4;function Sn(e){let t=e.graceMs??xn,n=null,r=0,i=!1;function a(){n!==null&&(clearTimeout(n),n=null),r=0}function o(){i||n!==null||(n=setTimeout(()=>{n=null,s()},t))}async function s(){if(i||e.signal.current.kind!==`degraded`)return;r++,e.onEscalate?.(r),e.ensureAll();let t=await e.probe();if(!(i||e.signal.current.kind!==`degraded`)){if(t===`failed`){if(e.isReachable?.()){e.onHold?.(`probe failed but a channel is up — holding`),o();return}e.onOffline?.(`degraded: endpoint unreachable`),e.kernel.dispatch({type:`PROBE_FAILED_ALL`,error:`degraded: endpoint unreachable`});return}o()}}let c=e.signal.subscribe(e=>{e.kind===`degraded`?o():a()});return e.signal.current.kind===`degraded`&&o(),()=>{i=!0,a(),c()}}function Cn(e){let t=e.debounceMs??0,n=!1,r=null,i=i=>{if(!n){if(t<=0){e.onChange(e.kernel,i);return}r!==null&&clearTimeout(r),r=setTimeout(()=>{r=null,n||e.onChange(e.kernel,i)},t)}};return e.source.addEventListener(`change`,i),()=>{n=!0,r!==null&&(clearTimeout(r),r=null),e.source.removeEventListener(`change`,i)}}var wn=`camera.ui:transport:target`;function Tn(e){let t=e.key??wn,n=e.onError??(()=>{}),r=!1,i=null;a();async function a(){let a;try{a=await e.storage.get(t)}catch(e){n(`get`,e),a=null}if(!r){if(i!==null){e.onRestore?.(i);return}if(!a){e.onRestore?.(null);return}try{let t=JSON.parse(a);if(!t?.endpoint?.url||!t?.tokens?.access){e.onRestore?.(null);return}i={endpoint:t.endpoint,tokens:t.tokens},e.onRestore?.(i)}catch(t){n(`parse`,t),e.onRestore?.(null)}}}async function o(r){let a={endpoint:r.endpoint,tokens:r.tokens,savedAt:Date.now(),version:1};i={endpoint:r.endpoint,tokens:r.tokens};try{await e.storage.set(t,JSON.stringify(a)),e.onPersist?.(r)}catch(e){n(`set`,e)}}async function s(){i=null;try{await e.storage.del(t),e.onClear?.()}catch(e){n(`del`,e)}}let c=e.kernel.subscribe((e,t)=>{if(r)return;if(e.kind===`discovering`&&e.pendingTokens&&(t.kind!==`discovering`||t.pendingTokens!==e.pendingTokens)){i&&o({endpoint:i.endpoint,tokens:e.pendingTokens});return}let n=e.kind===`online`?e.target:null,a=t.kind===`online`?t.target:null;if(n&&n!==a){o(n);return}e.kind===`idle`&&t.kind!==`idle`&&s()});return{detach:()=>{r=!0,c()},peek:()=>i,seed:async e=>{r||await o(e)},absorb:e=>{r||(i=e)}}}function En(e=globalThis.localStorage){if(!e)throw Error(`localStorageAdapter: localStorage is not available in this environment`);return{get(t){return e.getItem(t)},set(t,n){e.setItem(t,n)},del(t){e.removeItem(t)}}}var Dn=e=>{e.phase.kind===`offline`&&e.dispatch({type:`USER_RETRY`})};function On(e){let t=e.networkSource===void 0?typeof globalThis<`u`&&`window`in globalThis?globalThis.window:null:e.networkSource,n=e.visibilitySource===void 0?typeof globalThis<`u`&&`document`in globalThis?globalThis.document:null:e.visibilitySource,r=e.onOnline??Dn,i=e.onOffline,a=[];if(t){let n=()=>r(e.kernel),o=()=>i?.(e.kernel);t.addEventListener(`online`,n),t.addEventListener(`offline`,o),a.push(()=>{t.removeEventListener(`online`,n),t.removeEventListener(`offline`,o)})}if(n&&(e.onVisibilityVisible||e.onVisibilityHidden)){let t=()=>{n.visibilityState===`hidden`?e.onVisibilityHidden?.(e.kernel):e.onVisibilityVisible?.(e.kernel)};n.addEventListener(`visibilitychange`,t),a.push(()=>{n.removeEventListener(`visibilitychange`,t)})}return()=>{for(let e of a)e();a.length=0}}function kn(e,t){let n=Error(t);return n.kind=e,n}function An(e){return e instanceof Error&&typeof e.kind==`string`}function jn(e){let t,n=!1;function r(){t&&=(t.abort(),void 0)}async function i(){if(n)return;r();let a=new AbortController;t=a;let o;try{if(e.onDiscoverStart?.(),o=await e.discover(a.signal),a.signal.aborted)return;e.onDiscoverSuccess?.(o)}catch(t){if(a.signal.aborted)return;e.onDiscoverError?.(t);let n=t instanceof Error?`discover: ${t.message}`:`discover failed`;e.onAllFailed?.(n),e.kernel.dispatch({type:`PROBE_FAILED_ALL`,error:n});return}if(o.length===0){let t=`discover returned empty pool`;e.onAllFailed?.(t),e.kernel.dispatch({type:`PROBE_FAILED_ALL`,error:t});return}let s=e.lastTarget?.()?.tokens,c=o.map(t=>({endpoint:t,run:async n=>{e.onProbeStart?.(t);try{let r=await e.probe({endpoint:t,lastTokens:s,signal:n});return e.onProbeSuccess?.(t,r),r}catch(r){let i=r;throw n.aborted&&!a.signal.aborted&&!An(r)&&(i=n.reason===`race-settled`?kn(`transient`,`superseded`):kn(`transient`,`timeout (${(e.timeoutByMode??(e=>fn[e]??5e3))(t.mode)}ms)`)),e.onProbeError?.(t,i),i}}}));try{let{endpoint:t,value:n}=await hn(c,{timeoutByMode:e.timeoutByMode,parentSignal:a.signal,prefer:e.prefer,preferGraceMs:e.preferGraceMs,shortCircuit:e=>An(e)&&(e.kind===`needs-auth`||e.kind===`fatal`),informative:e=>!(An(e)&&e.kind===`aborted`)});if(a.signal.aborted)return;e.kernel.dispatch({type:`PROBE_SUCCEEDED`,endpoint:t,tokens:n})}catch(t){if(a.signal.aborted)return;let r=t instanceof mn?t.cause:t;if(An(r)&&r.kind===`aborted`){setTimeout(()=>{!n&&e.kernel.phase.kind===`discovering`&&i()},200);return}let o=An(r)&&r.kind===`needs-auth`?`needs-auth`:r instanceof Error?r.message:`all endpoints failed`;e.onAllFailed?.(o),e.kernel.dispatch({type:`PROBE_FAILED_ALL`,error:o})}}let a=e.kernel.subscribe((e,t)=>{e.kind===`discovering`&&t.kind!==`discovering`?i():e.kind!==`discovering`&&t.kind===`discovering`&&r()});return e.kernel.phase.kind===`discovering`&&i(),()=>{n=!0,r(),a()}}var Mn=5e3,Nn=3,Pn=2e3,Fn=2**31-1;function In(e){let t=e.graceMs??Mn,n=e.maxTransientRetries??Nn,r=e.maxServerErrorRetries??n,i=e.transientRetryDelayMs??Pn,a=e.isTransientError??(()=>!1),o=e.isServerError??(()=>!1),s=e.now??(()=>Date.now()),c=e.setTimer??((e,t)=>setTimeout(e,t)),l=e.clearTimer??(e=>clearTimeout(e)),u,d=!1,f=!1,p=0,m=!1,h=[];function g(){u!==void 0&&(l(u),u=void 0)}function _(n){g();let r=n.tokens.accessExpiresAt;if(!r)return;let i=Math.min(Math.max(0,r-s()-t),Fn);e.onScheduled?.(i,r),u=c(()=>{u=void 0,v(`proactive`)},i)}async function v(l){if(f){e.onTriggerSkipped?.(l,`detached`,e.kernel.phase.kind);return}if(d){l===`auth-error`&&(m=!0),e.onTriggerSkipped?.(l,`already-inflight`,e.kernel.phase.kind);return}let h=e.kernel.phase,y=h.kind===`online`?h.target:null;if(!y){e.onTriggerSkipped?.(l,`no-target`,h.kind);return}d=!0,e.onRefreshStart?.(l);try{let n=await(e.acquireRefreshLock??(e=>e()))(async()=>{let n=e.getLatestTokens?.();if(n?.accessExpiresAt&&n.accessExpiresAt>s()+t)return e.kernel.dispatch({type:`TOKENS_REFRESHED`,tokens:n}),{tokens:n,skipped:!0};let r=e.kernel.phase,i=(r.kind===`online`?r.target:null)??y,a=n?{...i,tokens:n}:i,o=await e.refresh(a,l);return f||e.kernel.dispatch({type:`TOKENS_REFRESHED`,tokens:o}),{tokens:o,skipped:!1}});if(f)return;if(p=0,n.skipped){e.onRefreshSkipped?.(l,n.tokens);let t=e.kernel.phase;t.kind===`online`&&u===void 0&&_(t.target)}else e.onRefreshSuccess?.(l,n.tokens)}catch(t){if(f)return;let s=a(t),d=s&&o(t),m=d?r:n;if(s&&p<m){p++;let n=m-p;e.onRefreshError?.(l,t,{transient:!0,serverError:d,retriesLeft:n,willRetry:!0}),g(),u=c(()=>{u=void 0,v(l)},i)}else p=0,e.onRefreshError?.(l,t,{transient:s,serverError:d,retriesLeft:0,willRetry:!1}),e.kernel.dispatch({type:`TOKENS_INVALID`,reason:Ln(t),transient:s})}finally{d=!1,!f&&m&&(m=!1,v(`auth-error`))}}let y=e.kernel.subscribe((e,t)=>{e.kind===`online`?(t.kind!==`online`||t.target.tokens.access!==e.target.tokens.access)&&(p=0,_(e.target)):(g(),p=0)});h.push(y);for(let t of e.transports){let e=t.on(`auth-error`,()=>{v(`auth-error`)});h.push(e)}e.kernel.phase.kind===`online`&&_(e.kernel.phase.target);function b(){f=!0,g();for(let e of h)e()}function x(){if(f)return;let n=e.kernel.phase,r=n.kind===`online`?n.target:null;if(!r){e.onWakeChecked?.({decision:`no-target`,phase:n.kind});return}let i=r.tokens.accessExpiresAt;if(!i){e.onWakeChecked?.({decision:`no-expiry`,phase:n.kind});return}let a=i-s();a<t?(e.onWakeChecked?.({decision:`refresh-now`,remainingMs:a,phase:n.kind}),v(`proactive`)):e.onWakeChecked?.({decision:`still-fresh`,remainingMs:a,phase:n.kind})}return{detach:b,wake:x}}function Ln(e){return e instanceof Error?e.message:typeof e==`string`?e:`refresh-failed`}var Rn=Symbol(`transport-sync-skip`),zn=2e3;function Bn(e){switch(e.kind){case`idle`:case`offline`:case`needs-auth`:return null;case`online`:return e.target;case`discovering`:return Rn}}function Vn(e){let t=!1,n=e.retryMs??zn,r=new Map,i=new Map,a;function o(t,n){r.set(t,n),t.apply(n).catch(i=>{e.onError?.(t,n,i),r.get(t)===n&&(r.delete(t),s(t))})}function s(a){if(t||i.has(a))return;let c=setTimeout(()=>{if(i.delete(a),t)return;let n=Bn(e.kernel.phase);if(n===Rn){s(a);return}r.has(a)&&nn(r.get(a),n)||(e.onRetry?.(a,n),o(a,n))},n);i.set(a,c)}function c(n){if(!t){for(let t of e.transports)r.has(t)&&nn(r.get(t),n)||o(t,n);(a===void 0||!nn(a,n))&&(a=n,e.onApplied?.(n))}}function l(e){let t=Bn(e);t!==Rn&&c(t)}l(e.kernel.phase);let u=e.kernel.subscribe(e=>{l(e)});return()=>{t=!0;for(let e of i.values())clearTimeout(e);i.clear(),u()}}var Hn=new It(`workerBridge`);function Un(e){let t=0,n=!1,r=new Map;function i(n){return t++,{type:`kernel-sync`,generation:t,phase:n,resolver:e.resolveServers!==void 0}}function a(r){if(n)return;let a=i(r),o=0;for(let t of e.hosts())try{t.postMessage(a),o++,c(t)}catch(e){Hn.warn(`broadcast postMessage failed`,{gen:a.generation,phase:r.kind,err:e})}e.onBroadcast?.(t,o)}function o(r){if(n)return;let a=i(e.kernel.phase);try{r.postMessage(a),c(r),e.onSyncHost?.(t)}catch(e){Hn.warn(`syncOne postMessage failed`,{gen:a.generation,err:e})}}async function s(t,n){let r=e=>{try{t.postMessage({type:`kernel-resolve-reply`,id:n.id,...e})}catch(e){Hn.warn(`resolve reply postMessage failed`,e)}};if(!e.resolveServers){r({servers:[...n.defaultServers]});return}let i=e.kernel.phase;if(i.kind!==`online`){r({error:`kernel ${i.kind}`});return}try{r({servers:await e.resolveServers({target:i.target,connId:n.connId,defaultServers:n.defaultServers})})}catch(e){r({error:e instanceof Error?e.message:String(e)})}}function c(t){if(!e.listenForResyncRequests&&!e.resolveServers||!t.addEventListener||r.has(t))return;let i=r=>{if(n)return;let i=r.data;i?.type===`kernel-sync-request`&&e.listenForResyncRequests?o(t):i?.type===`kernel-resolve-request`&&s(t,i)};t.addEventListener(`message`,i),r.set(t,()=>{t.removeEventListener?.(`message`,i)})}let l=e.kernel.subscribe(e=>{a(e)});return{detach(){n=!0,l();for(let e of r.values())e();r.clear()},syncHost(e){o(e)},syncAll(){a(e.kernel.phase)},revalidateWorkers(){if(!n)for(let t of e.hosts())try{t.postMessage({type:`kernel-revalidate`}),c(t)}catch(e){Hn.warn(`revalidate postMessage failed`,e)}}}}var Wn=1e3,Gn=300;function Kn(e){if(e==null)return;let t;if(typeof e==`string`)t=e;else if(e instanceof Error)t=e.message;else try{t=JSON.stringify(e)}catch{t=String(e)}return t.length>Gn?`${t.slice(0,Gn)}…`:t}function qn(e){let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}.${String(t.getMilliseconds()).padStart(3,`0`)}`}function Jn(e={}){let t=e.capacity??Wn,n=e.now??(()=>Date.now()),r=[],i=new Set,a=0,o=0;function s(e,s,c){let l={seq:o++,t:n(),scope:e,msg:s,detail:Kn(c)};r.length<t?r.push(l):(r[a]=l,a=(a+1)%t);for(let e of[...i])try{e(l)}catch{}}function c(){return[...r.slice(a),...r.slice(0,a)]}function l(){r.length=0,a=0}function u(e){return i.add(e),()=>{i.delete(e)}}function d(){let e=c();return[`connection journal — exported ${new Date(n()).toISOString()} (${e.length} entries)`,...e.map(e=>{let t=e.detail?` — ${e.detail}`:``;return`${qn(e.t)} [${e.scope}] ${e.msg}${t}`})].join(`
|
|
4
4
|
`)}return{record:s,list:c,clear:l,subscribe:u,exportText:d}}var Yn=1500;function Xn(e,t){return e.kind===t.kind?e.kind===`degraded`&&t.kind===`degraded`?e.channels.join(`,`)===t.channels.join(`,`):e.kind===`offline`&&t.kind===`offline`?e.retryAt===t.retryAt:!0:!1}function Zn(e){let t=e.debounceMs??Yn,n=new Set,r=[],i=!1,a=!1,o=null,s=null,c=!1;function l(){let t=e.kernel.phase;switch(t.kind){case`idle`:return{kind:`connecting`};case`needs-auth`:return{kind:`needs-auth`};case`offline`:return{kind:`offline`,retryAt:t.nextRetryAt};case`discovering`:return i?{kind:`offline`}:{kind:`connecting`};case`online`:{let t=e.transports.filter(e=>e.spec.phaseGating&&!e.health().up).map(e=>e.spec.id);return t.length===0?{kind:`online`}:a?{kind:`degraded`,channels:t}:{kind:`connecting`}}}}let u=l();function d(){o!==null&&(clearTimeout(o),o=null,s=null)}function f(e){if(d(),!Xn(u,e)){u=e;for(let t of[...n])try{t(e)}catch{}}}function p(){if(c)return;let e=l();if(Xn(u,e)){d();return}if(e.kind===`online`||e.kind===`connecting`||e.kind===`needs-auth`){f(e);return}if(s&&s.kind===e.kind){s=e;return}d(),s=e,o=setTimeout(()=>{o=null;let e=s;s=null,e&&f(l().kind===e.kind?l():e)},t)}r.push(e.kernel.subscribe(e=>{e.kind===`online`?i=!0:e.kind===`idle`&&(i=!1,a=!1),p()}));for(let t of e.transports)r.push(t.on(`up`,()=>{a=!0,p()})),r.push(t.on(`down`,()=>p()));return{get current(){return u},raw:()=>l(),recompute:p,subscribe(e){return n.add(e),()=>n.delete(e)},dispose(){c=!0,d();for(let e of r)e();n.clear()}}}var Qn={id:`http`,kind:`request`,phaseGating:!1};function $n(e={}){let t={...Qn,...e.spec},n=e.apiPrefix??`/api`,r=e.targetWaitMs??15e3,i=e.logger,a=new an,o=null,s={up:!1},c=!1,l=new Set,u=y.create({timeout:e.timeoutMs??3e4});function d(e){return o?Promise.resolve():new Promise((t,n)=>{let i={resolve:()=>{s(),t()},reject:e=>{s(),n(e)}},a=setTimeout(()=>i.reject(new y.Cancel(`http-transport: no target`)),r),o=()=>i.reject(new y.Cancel(`http-transport: aborted`));function s(){clearTimeout(a),l.delete(i),e?.removeEventListener?.(`abort`,o)}if(e?.aborted){i.reject(new y.Cancel(`http-transport: aborted`));return}e?.addEventListener?.(`abort`,o),l.add(i)})}function f(){if(o)for(let e of[...l])e.resolve()}u.interceptors.request.use(async t=>{o||await d(t.signal);let r=o;if(!r)throw new y.Cancel(`http-transport: no target`);return t.baseURL||=`${r.endpoint.url}${n}`,e.authorize?await e.authorize(t,r):t.headers.set(`Authorization`,`Bearer ${r.tokens.access}`),r.tokens.proxySession&&t.headers.set(`X-Proxy-Session`,r.tokens.proxySession),t}),u.interceptors.response.use(e=>(s.up||(s={up:!0},i?.debug(`markUp`),a.emit(`up`,void 0)),e),e=>y.isCancel(e)?Promise.reject(e):e.response?(e.response.status===401&&(i?.debug(`auth-error 401 (${e.config?.url??`unknown-url`})`),a.emit(`auth-error`,{status:401,message:er(e)})),Promise.reject(e)):(p(e.message??`network`),Promise.reject(e)));function p(e){(s.up||s.lastError!==e)&&(s={up:!1,lastError:e},i?.debug(`markDown (${e})`),a.emit(`down`,{reason:e}))}async function m(e){if(c)throw Error(`http-transport disposed`);if(nn(o,e))return;let t=rn(o,e);if(o=e,!e){s={up:!1},a.emit(`down`,{reason:`detached`});return}t&&(s={up:!1}),f()}function h(){return s}function g(e,t){return a.on(e,t)}async function _(){c=!0,o=null,s={up:!1};for(let e of[...l])e.reject(new y.Cancel(`http-transport: disposed`));a.clear()}return{spec:t,client:u,apply:m,health:h,on:g,dispose:_}}function er(e){let t=e.response?.data;return t&&typeof t==`object`&&`message`in t&&typeof t.message==`string`?t.message:e.message}function tr(...e){let t=0;for(let n=0;n<e.length;n++)t+=e[n].length;let n=new Uint8Array(t),r=0;for(let t=0;t<e.length;t++)n.set(e[t],r),r+=e[t].length;return n}function nr(...e){let t=[];for(let n=0;n<e.length;n++)t.push(ar.encode(e[n]));return t.length===0?ir:t.length===1?t[0]:tr(...t)}function rr(e){return!e||e.length===0?``:or.decode(e)}var ir,ar,or,sr=n((()=>{ir=new Uint8Array,ar=new TextEncoder,or=new TextDecoder})),cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr=n((()=>{cr=class extends Error{constructor(e,t){super(`illegal subject: '${e}'`,t),this.name=`InvalidSubjectError`}},lr=class e extends Error{constructor(e,t){super(e,t),this.name=`InvalidArgumentError`}static format(t,n,r){return Array.isArray(n)&&n.length>1&&(n=n[0]),Array.isArray(t)?(t=t.map(e=>`'${e}'`),t=t.join(`,`)):t=`'${t}'`,new e(`${t} ${n}`,r)}},ur=class extends Error{constructor(e,t){super(e,t),this.name=`InvalidOperationError`}},dr=class e extends Error{constructor(e,t){super(e,t),this.name=`UserAuthenticationExpiredError`}static parse(t){return t.toLowerCase().indexOf(`user authentication expired`)===-1?null:new e(t)}},fr=class e extends Error{constructor(e,t){super(e,t),this.name=`AuthorizationError`}static parse(t){let n=[`authorization violation`,`account authentication expired`,`authentication timeout`],r=t.toLowerCase();for(let i=0;i<n.length;i++)if(r.indexOf(n[i])!==-1)return new e(t);return null}},pr=class extends Error{constructor(){super(`closed connection`),this.name=`ClosedConnectionError`}},mr=class extends Error{constructor(){super(`connection draining`),this.name=`DrainingConnectionError`}},hr=class extends Error{constructor(e,t){super(e,t),this.name=`ConnectionError`}},gr=class extends Error{constructor(e,t){super(e,t),this.name=`ProtocolError`}},_r=class extends Error{constructor(e=``,t){super(e,t),this.name=`RequestError`}isNoResponders(){return this.cause instanceof yr}},vr=class extends Error{constructor(e){super(`timeout`,e),this.name=`TimeoutError`}},yr=class extends Error{subject;constructor(e,t){super(`no responders: '${e}'`,t),this.subject=e,this.name=`NoResponders`}},br=class e extends Error{operation;subject;queue;constructor(e,t,n,r,i){super(e,i),this.name=`PermissionViolationError`,this.operation=t,this.subject=n,this.queue=r}static parse(t){if((t?t.toLowerCase():``).indexOf(`permissions violation`)===-1)return null;let n=`publish`,r=``,i,a=t.match(/(Publish|Subscription) to "(\S+)"/);if(a&&(n=a[1].toLowerCase(),r=a[2],n===`subscription`)){let e=t.match(/using queue "(\S+)"/);e&&(i=e[1])}return new e(t,n,r,i)}},xr={AuthorizationError:fr,ClosedConnectionError:pr,ConnectionError:hr,DrainingConnectionError:mr,InvalidArgumentError:lr,InvalidOperationError:ur,InvalidSubjectError:cr,NoRespondersError:yr,PermissionViolationError:br,ProtocolError:gr,RequestError:_r,TimeoutError:vr,UserAuthenticationExpiredError:dr}}));function Cr(e,...t){for(let n=0;n<t.length;n++){let r=t[n];Object.keys(r).forEach(function(t){e[t]=r[t]})}return e}function wr(e){return or.decode(e).replace(/\n/g,`␊`).replace(/\r/g,`␍`)}function Tr(e,t=!0){let n=t?new vr:null,r,i,a=new Promise((t,a)=>{r={cancel:()=>{i&&clearTimeout(i)}},i=setTimeout(()=>{a(n===null?new vr:n)},e)});return Object.assign(a,r)}function Er(e=0){let t,n=new Promise(n=>{let r=setTimeout(()=>{n()},e);t={cancel:()=>{r&&(clearTimeout(r),n())}}});return Object.assign(n,t)}async function Dr(e,t=1e3){let n=Or(),r=setTimeout(()=>{n.reject(new vr)},t);try{return await Promise.race([e,n])}finally{clearTimeout(r)}}function Or(){let e={},t=new Promise((t,n)=>{e={resolve:t,reject:n}});return Object.assign(t,e)}function kr(e){for(let t=e.length-1;t>0;t--){let n=Math.floor(Math.random()*(t+1));[e[t],e[n]]=[e[n],e[t]]}return e}async function Ar(e){let t=[];for await(let n of e)t.push(n);return t}function jr(e){return e===0?0:Math.floor(e/2+Math.random()*e)}function Mr(e=[0,250,250,500,500,3e3,5e3]){Array.isArray(e)||(e=[0,250,250,500,500,3e3,5e3]);let t=e.length-1;return{backoff(n){return jr(n>t?e[t]:e[n])}}}function Nr(e){return e*1e6}function Pr(e){return Math.floor(e/1e6)}function Fr(){let e=Math.floor(Math.random()*Br),t=e%62,n=zr[t];e=(e-t)/62,t=e%62;let r=zr[t];e=(e-t)/62,t=e%62;let i=zr[t];e=(e-t)/62,t=e%62;let a=zr[t];e=(e-t)/62,t=e%62;let o=zr[t];e=(e-t)/62,t=e%62;let s=zr[t];e=(e-t)/62,t=e%62;let c=zr[t];e=(e-t)/62;let l=zr[e];return String.fromCharCode(n,r,i,a,o,s,c,l)}var Ir,Lr,Rr,zr,Br,Vr=n((()=>{sr(),Sr(),Ir=class{timers;measures;constructor(){this.timers=new Map,this.measures=new Map}mark(e){this.timers.set(e,performance.now())}measure(e,t,n){let r=this.timers.get(t);if(r===void 0)throw Error(`${t} is not defined`);let i=this.timers.get(n);if(i===void 0)throw Error(`${n} is not defined`);this.measures.set(e,i-r)}getEntries(){let e=[];return this.measures.forEach((t,n)=>{e.push({name:n,duration:t})}),e}},Lr=class{max;current;waiting;constructor(e=1){this.max=e,this.current=0,this.waiting=[]}lock(){if(this.current++,this.current<=this.max)return Promise.resolve();let e=Or();return this.waiting.push(e),e}unlock(){this.current--,this.waiting.pop()?.resolve()}},Rr=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,zr=new Uint8Array(62);for(let e=0;e<62;e++)zr[e]=Rr.charCodeAt(e);Br=0xc694446f0100})),Hr=a((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.nuid=e.NuidImpl=void 0;var t=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,n=62,r=12,i=10,a=33,o=22,s=new Uint8Array(n);for(let e=0;e<n;e++)s[e]=t.charCodeAt(e);var c=4294967296,l=BigInt(n)**BigInt(i),u=Number(l/(1n<<32n)),d=Number(l%(1n<<32n));function f(e){for(let t=0;t<e.length;t++)e[t]=Math.floor(Math.random()*256)}function p(e){globalThis?.crypto?.getRandomValues?globalThis.crypto.getRandomValues(e):f(e)}var m=class{buf;cbuf;seqHi;seqLo;inc;inited;constructor(){this.buf=new Uint8Array(o),this.cbuf=new Uint8Array(r),this.inited=!1}init(){this.inited=!0,this.setPre(),this.initSeqAndInc(),this.fillSeq()}initSeqAndInc(){let e=0;do this.seqHi=Math.floor(Math.random()*(u+1)),this.seqLo=Math.floor(Math.random()*c);while(e++<8&&this.seqHi===u&&this.seqLo>=d);this.seqHi===u&&this.seqLo>=d&&(this.seqLo=0),this.inc=Math.random()*300+a|0}setPre(){p(this.cbuf);for(let e=0;e<r;e++)this.buf[e]=s[this.cbuf[e]%n]}fillSeq(){let e=this.seqHi,t=this.seqLo;for(let i=21;i>=r;i--){let r=Math.floor(e/n),a=(e-r*n)*c+t,o=Math.floor(a/n),l=a-o*n;this.buf[i]=s[l],e=r,t=o}}next(){this.inited||this.init(),this.seqLo+=this.inc,this.seqLo>=c&&(this.seqLo-=c,this.seqHi+=1),(this.seqHi>u||this.seqHi===u&&this.seqLo>=d)&&(this.setPre(),this.initSeqAndInc()),this.fillSeq();let e=this.buf;return String.fromCharCode(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15],e[16],e[17],e[18],e[19],e[20],e[21])}reset(){this.init()}};e.NuidImpl=m,e.nuid=new m})),Ur=a((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.nuid=e.Nuid=void 0;var t=Hr();e.Nuid=t.NuidImpl,e.nuid=t.nuid})),Wr,Gr=n((()=>{Wr=Ur()}));function Kr(e){let t=e[Symbol.asyncIterator]();return{async next(){let e=await t.next();return e.done?Promise.resolve(null):Promise.resolve(e.value)}}}function qr(e=``){if(e||=`_INBOX`,typeof e!=`string`)throw TypeError(`prefix must be a string`);return e.split(`.`).forEach(t=>{if(t===`*`||t===`>`)throw lr.format(`prefix`,`cannot have wildcards ('${e}')`)}),`${e}.${Wr.nuid.next()}`}var Jr,Yr,Xr,Zr=n((()=>{Gr(),Sr(),Jr={Exact:`exact`,CanonicalMIME:`canonical`,IgnoreCase:`insensitive`},Yr=4222,Xr=`127.0.0.1`})),Qr,$r=n((()=>{sr(),Qr=class{buffers;byteLength;constructor(){this.buffers=[],this.byteLength=0}static concat(...e){let t=0;for(let n=0;n<e.length;n++)t+=e[n].length;let n=new Uint8Array(t),r=0;for(let t=0;t<e.length;t++)n.set(e[t],r),r+=e[t].length;return n}static fromAscii(e){return e||=``,ar.encode(e)}static toAscii(e){return or.decode(e)}reset(){this.buffers.length=0,this.byteLength=0}pack(){if(this.buffers.length>1){let e=new Uint8Array(this.byteLength),t=0;for(let n=0;n<this.buffers.length;n++)e.set(this.buffers[n],t),t+=this.buffers[n].length;this.buffers.length=0,this.buffers.push(e)}}shift(){if(this.buffers.length){let e=this.buffers.shift();if(e)return this.byteLength-=e.length,e}return new Uint8Array}drain(e){if(this.buffers.length){this.pack();let t=this.buffers.pop();if(t){let n=this.byteLength;(e===void 0||e>n)&&(e=n);let r=t.subarray(0,e);return n>e&&this.buffers.push(t.subarray(e)),this.byteLength=n-e,r}}return new Uint8Array}fill(e,...t){e&&(this.buffers.push(e),this.byteLength+=e.length);for(let e=0;e<t.length;e++)t[e]&&t[e].length&&(this.buffers.push(t[e]),this.byteLength+=t[e].length)}peek(){return this.buffers.length?(this.pack(),this.buffers[0]):new Uint8Array}size(){return this.byteLength}length(){return this.buffers.length}}}));function ei(e){si=e}function ti(){return si!==void 0&&si.defaultPort!==void 0?si.defaultPort:Yr}function ni(){return si!==void 0&&si.urlParseFn?si.urlParseFn:void 0}function ri(){if(!si||typeof si.factory!=`function`)throw Error(`transport fn is not set`);return si.factory()}function ii(){return si!==void 0&&si.dnsResolveFn?si.dnsResolveFn:void 0}function ai(e){for(let t=0;t<e.length;t++){let n=t+1;if(e.byteLength>n&&e[t]===li&&e[n]===ui)return n+1}return 0}function oi(e){let t=ai(e);if(t>0){let n=new Uint8Array(e).slice(0,t);return or.decode(n)}return``}var si,ci,li,ui,di=n((()=>{sr(),Zr(),$r(),ci=Qr.fromAscii(`\r
|