@camera.ui/server 2.0.4 → 2.0.6
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-B8P9h05I.js → 404-ekmIpFW1.js} +1 -1
- package/dist/interface/assets/About-CvajU0JT.js +1 -0
- package/dist/interface/assets/Adminpanel-DrKaMQqd.js +1 -0
- package/dist/interface/assets/Automation-Dn1ZXmhy.js +2 -0
- package/dist/interface/assets/AutomationImport-U7r6BcW_.js +2 -0
- package/dist/interface/assets/{AutomationStore-qLsO1tHb.js → AutomationStore-DZBtLuIs.js} +2 -2
- package/dist/interface/assets/{AutomationStoreDetail-BAW2nfPd.js → AutomationStoreDetail-BXpOtPMl.js} +2 -2
- package/dist/interface/assets/{Automations-CUCVYZSr.js → Automations-DGHcWJ0h.js} +2 -2
- package/dist/interface/assets/Camera-CVJ-46dw.js +2 -0
- package/dist/interface/assets/Camera-Da5zEitE.css +1 -0
- package/dist/interface/assets/{CameraConsole-t6nY7h-V.js → CameraConsole-DPI9LjVK.js} +1 -1
- package/dist/interface/assets/Cameras-2kM76WUB.css +1 -0
- package/dist/interface/assets/Cameras-DsZ7VINe.js +652 -0
- package/dist/interface/assets/Camview-Lnxd3oe8.js +1 -0
- package/dist/interface/assets/Config-B1ZKVfMn.js +2 -0
- package/dist/interface/assets/ConfigActionCameraControl-BHKVJQqx.js +1 -0
- package/dist/interface/assets/{ConfigActionDelay-Rnxk--Qt.js → ConfigActionDelay-BS1vLvDQ.js} +1 -1
- package/dist/interface/assets/ConfigActionHttp-BKlRdtJr.js +1 -0
- package/dist/interface/assets/{ConfigActionImageInput-C8_H3ubM.js → ConfigActionImageInput-DveJ7oK8.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-4VYN5Hkr.js → ConfigActionNotification-Cn3qFFiK.js} +1 -1
- package/dist/interface/assets/ConfigActionOutput-Bg6d4zFD.js +1 -0
- package/dist/interface/assets/{ConfigActionPlugin-DrPmBv9V.js → ConfigActionPlugin-u-_sCQs9.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-CyaEZRfx.js → ConfigActionSensor-Cx1Q9VtS.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-l7VvnulO.js → ConfigActionSnapshot-DN4UC9jz.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-DIlUMHDy.js → ConfigActionVariable-Yufao52p.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-0XRDQcTw.js → ConfigConditionIfElse-X9Sf0RwG.js} +1 -1
- package/dist/interface/assets/ConfigConditionSensorState-DQkz0FC6.js +1 -0
- package/dist/interface/assets/{ConfigConditionSwitch-C7pp1EZI.js → ConfigConditionSwitch-B4OICWxL.js} +1 -1
- package/dist/interface/assets/ConfigConditionTime-DRhAEuuC.js +1 -0
- package/dist/interface/assets/{ConfigTriggerDetection-CKw-fo2n.js → ConfigTriggerDetection-CzI4hgRA.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-DjBRl2tE.js → ConfigTriggerGeofence-RUlZmXAo.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerManual-BpBTh3CS.js → ConfigTriggerManual-Jjh7ZhyC.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-DZG10NcA.js → ConfigTriggerSchedule-Dr6ALguI.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-CpFa6nUj.js → ConfigTriggerSensor-DLxdw9Fd.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-BsQElCAL.js → ConfigTriggerSystem-DYDpUWwi.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-BKPOGAs3.js → ConfigTriggerWebhook-DiW3cwjT.js} +1 -1
- package/dist/interface/assets/Console-B55HKp9M.js +1 -0
- package/dist/interface/assets/{CuiActionButton-BSy6VaJ6.js → CuiActionButton-iNuXCl7_.js} +1 -1
- package/dist/interface/assets/{CuiAvatar-8AhiddF1.js → CuiAvatar-B1PdXoLS.js} +1 -1
- package/dist/interface/assets/{CuiBBoxPlayground-BUPzZ0sI.js → CuiBBoxPlayground-BJYeyVTF.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-BNCym-11.js → CuiBottomSheet-B57WDcr5.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-Da0yy5zi.js +1 -0
- package/dist/interface/assets/CuiCameraCard-Dix4Iyrv.js +1 -0
- package/dist/interface/assets/{CuiCameraPipCard-CUPWEo3r.js → CuiCameraPipCard-BAOlD5uq.js} +1 -1
- package/dist/interface/assets/CuiCameraRecordings-ET-hbDL9.js +1 -0
- package/dist/interface/assets/{CuiCameraShares-oA3ockIQ.js → CuiCameraShares-CMzYmZt7.js} +1 -1
- package/dist/interface/assets/CuiCameraSnapshot-BcJfNxnj.js +1 -0
- package/dist/interface/assets/CuiCameraTable-CmyHU7oP.js +2 -0
- package/dist/interface/assets/{CuiDataTable-DhnQRMXG.js → CuiDataTable-Cd1jvrN0.js} +1 -1
- package/dist/interface/assets/{CuiFloatingButton-YIEmTfno.js → CuiFloatingButton-B3_fNyCP.js} +1 -1
- package/dist/interface/assets/{CuiImage-CzYVSrkC.js → CuiImage-BupeZIam.js} +1 -1
- package/dist/interface/assets/{CuiMarkdownContent-ecpe3mHA.js → CuiMarkdownContent-B4fVlO8h.js} +1 -1
- package/dist/interface/assets/CuiMarkdownContent-CMPFzD-0.js +1 -0
- package/dist/interface/assets/{CuiMenu-CEaJl-MF.js → CuiMenu-C-rnBf9W.js} +1 -1
- package/dist/interface/assets/{CuiPluginCard-BBV_hV1R.css → CuiPluginCard-C9zsmIaC.css} +1 -1
- package/dist/interface/assets/CuiPluginCard-Cs3gCugA.js +2 -0
- package/dist/interface/assets/{CuiPluginCategoryChip-BwL2qCTM.js → CuiPluginCategoryChip-D_ICXcvd.js} +1 -1
- package/dist/interface/assets/{CuiPluginOAuthButton-BmBW2Pdf.js → CuiPluginOAuthButton-B1e0NCmA.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-KcOasEJH.js → CuiPluginTrustBadge-CuxXssET.js} +1 -1
- package/dist/interface/assets/{CuiQRCode-BUSzb3ek.js → CuiQRCode-46CN267y.js} +1 -1
- package/dist/interface/assets/{CuiRecordingsGrid-lcLty5PV.css → CuiRecordingsGrid-DRBC07wN.css} +1 -1
- package/dist/interface/assets/CuiRecordingsGrid-FObjS4y5.js +1 -0
- package/dist/interface/assets/CuiSchema-BvjMb-mO.js +1 -0
- package/dist/interface/assets/{CuiTopNavbarItem-DVwItfbG.js → CuiTopNavbarItem-CmnJEc_r.js} +1 -1
- package/dist/interface/assets/{CuiTopbarSlot-h5_1cb9v.js → CuiTopbarSlot-T_pdxsit.js} +1 -1
- package/dist/interface/assets/Faces-DHk9Jq3T.js +1 -0
- package/dist/interface/assets/FirstSteps-Bb3XOidA.js +1 -0
- package/dist/interface/assets/{Instances-BNasTbK_.js → Instances-CXPH9NdC.js} +1 -1
- package/dist/interface/assets/Logs-jN6cBnCk.js +6 -0
- package/dist/interface/assets/{Menu-DTC3IWLc.js → Menu-BhWV3vKB.js} +1 -1
- package/dist/interface/assets/{OAuthDeviceFlow-BOIY4kBt.js → OAuthDeviceFlow-XfU0jZ6x.js} +1 -1
- package/dist/interface/assets/Plugin-BF0VMRby.js +1 -0
- package/dist/interface/assets/Plugin-DbSiTjYn.css +1 -0
- package/dist/interface/assets/{PluginConsole-DwNRvKqW.js → PluginConsole-DoeboO_n.js} +1 -1
- package/dist/interface/assets/PluginDetail-C2UBJlKS.js +2 -0
- package/dist/interface/assets/{PluginSchema-DWnYqRll.js → PluginSchema-BD-rLvro.js} +1 -1
- package/dist/interface/assets/PluginSearch-CTIiYmP4.js +1 -0
- package/dist/interface/assets/PluginSearch-NnCJ7vG2.js +2 -0
- package/dist/interface/assets/Plugins-BLtk8Off.js +1 -0
- package/dist/interface/assets/Recordings-CMO0UwaS.js +1 -0
- package/dist/interface/assets/{Settings-CfiNEl95.js → Settings-BAVtA47G2.js} +1 -1
- package/dist/interface/assets/SettingsAccount-Iz4WalaS.js +1 -0
- package/dist/interface/assets/SettingsAccount-NUdKG4ow.js +1 -0
- package/dist/interface/assets/SettingsAppearance-Ck1O2w3P.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-Ck4VcB-w.js → SettingsAppearance-SLzxaqjN.js} +1 -1
- package/dist/interface/assets/SettingsBackup-CPC0aLD3.js +1 -0
- package/dist/interface/assets/SettingsNotifications-DB4CcddP.js +2 -0
- package/dist/interface/assets/SettingsRecordings-C15sTnLd.js +1 -0
- package/dist/interface/assets/SettingsRemote-5nVdezk3.js +1 -0
- package/dist/interface/assets/SettingsSystem-FqKuLssS.js +2 -0
- package/dist/interface/assets/SettingsUsers-CCp_3xlV.js +1 -0
- package/dist/interface/assets/Terminal-BHvfL8kE.js +4 -0
- package/dist/interface/assets/{VariableInput-DmE1m9Il.js → VariableInput-BnNttSx9.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-eII-1Bd_.js → VariableSuggestions-BbT0U9F0.js} +1 -1
- package/dist/interface/assets/VersionsHandler-jleSwMVy.js +7 -0
- package/dist/interface/assets/{Workers-Bj_tLx-1.js → Workers-ELW90lll.js} +2 -2
- package/dist/interface/assets/{account-CMuSWY7R.js → account-DqyKcqe6.js} +1 -1
- package/dist/interface/assets/ace-6JpPWRIj.js +1 -0
- package/dist/interface/assets/{ace.config-D884GuRj.js → ace.config-BnKJ0Xjj.js} +1 -1
- package/dist/interface/assets/{alert-circle-BBVlWmUb.js → alert-circle-DeKKKwiu.js} +1 -1
- package/dist/interface/assets/{alert-outline-MJaaWeWU.js → alert-outline-C4_42ECn.js} +1 -1
- package/dist/interface/assets/{api-CltBUyci.js → api-BRin642H.js} +1 -1
- package/dist/interface/assets/api-ByvWBLH3.js +2 -0
- package/dist/interface/assets/api-dcK5urq7.css +2 -0
- package/dist/interface/assets/{arrow-left-Bzo6lbMk.js → arrow-left-DroMCfOc.js} +1 -1
- package/dist/interface/assets/{arrow-right-outline-DU6p5Mjp.js → arrow-right-outline-CvgD4nuT.js} +1 -1
- package/dist/interface/assets/auth-D5gzm869.js +1 -0
- package/dist/interface/assets/{automation-BjkFcQH9.js → automation-BjZc8WL7.js} +1 -1
- package/dist/interface/assets/{automations-73X55Wxy.js → automations-B9KDzbWq.js} +1 -1
- package/dist/interface/assets/automations-CmA6Yx5B.js +1 -0
- package/dist/interface/assets/{back-filled-DI8fXlRr.js → back-filled-LVLhJP7G.js} +1 -1
- package/dist/interface/assets/{bell-Xdsks-42.js → bell-_E2Lq4ub.js} +1 -1
- package/dist/interface/assets/{bell-outline-Cy3lRQBX.js → bell-outline-CHhIZudN.js} +1 -1
- package/dist/interface/assets/{bell-ring-DR_BFore.js → bell-ring-DgLkBDcU.js} +1 -1
- package/dist/interface/assets/{bug-BkbVdwX_.js → bug-Eq4PDwA4.js} +1 -1
- package/dist/interface/assets/{cameras-Crvf7J3t.js → cameras-CYwpMvA8.js} +1 -1
- package/dist/interface/assets/{cameras.schema-CQPF4BCK.js → cameras.schema-neefhBQz.js} +1 -1
- package/dist/interface/assets/{cctv-D8gURS6i.js → cctv-BZIDJlxZ.js} +1 -1
- package/dist/interface/assets/{cctv-izLKpHLU.js → cctv-DbFrrwEm.js} +1 -1
- package/dist/interface/assets/{check-vQdlfVb0.js → check-COWE52r_.js} +1 -1
- package/dist/interface/assets/{check-circle-pC6Mk9ok.js → check-circle-CAbOGJc_.js} +1 -1
- package/dist/interface/assets/{chevron-down-5hhpriLd.js → chevron-down-Bu7d-Y9N.js} +1 -1
- package/dist/interface/assets/{chevron-right-B8jZK42K.js → chevron-right-90_Zn7fJ.js} +1 -1
- package/dist/interface/assets/{circular-connection-CShziQTj.js → circular-connection-Fq-Vqe3X.js} +1 -1
- package/dist/interface/assets/{clock-outline-C1Qoi42Q.js → clock-outline-CqPKrGj2.js} +1 -1
- package/dist/interface/assets/{close-CunDSika.js → close-BTPBtoEq.js} +1 -1
- package/dist/interface/assets/{close-circle-ClO0DCH3.js → close-circle-BAE2M1UZ.js} +1 -1
- package/dist/interface/assets/{cloud-check-DH_MvuMa.js → cloud-check-C2zK34QI.js} +1 -1
- package/dist/interface/assets/{cloud-outline-C6S72e1A.js → cloud-outline-64fdhdhh.js} +1 -1
- package/dist/interface/assets/{cloud-outline-CNhBvx4x.js → cloud-outline-BooRVJGO.js} +1 -1
- package/dist/interface/assets/cloudHandoff-CdYAKJPM.js +1 -0
- package/dist/interface/assets/{cog-Bgvz011z.js → cog-BOiZ8Brk.js} +1 -1
- package/dist/interface/assets/{cog-outline-uZ6J7_NJ.js → cog-outline-CXjehRoX.js} +1 -1
- package/dist/interface/assets/config-BLaep_I5.js +1 -0
- package/dist/interface/assets/{copy-16-filled-I80UlDbg.js → copy-16-filled-DfOe7jyi.js} +1 -1
- package/dist/interface/assets/{copy-B4-Xsyae.js → copy-D1B4K3K8.js} +1 -1
- package/dist/interface/assets/{delete-BdZ-cqP2.js → delete-BEupTYe7.js} +1 -1
- package/dist/interface/assets/{deviceId-BJm8lmpp.js → deviceId-B7SNJduj.js} +1 -1
- package/dist/interface/assets/{dist-D7Ztbw2o.js → dist-PhgrarGW.js} +1 -1
- package/dist/interface/assets/{download-C1GMtykU.js → download-BKGJ_BFg.js} +1 -1
- package/dist/interface/assets/{download-CNVBKEUL.js → download-DLRWZxWu.js} +1 -1
- package/dist/interface/assets/esm-2cKQcsYl.js +1 -0
- package/dist/interface/assets/esm-BC-ykYHP.js +1 -0
- package/dist/interface/assets/esm-BQAccPYQ2.js +1 -0
- package/dist/interface/assets/esm-B_RAh7V8.js +1 -0
- package/dist/interface/assets/esm-BsEkUnid.js +1 -0
- package/dist/interface/assets/esm-C1u--4jU.js +1 -0
- package/dist/interface/assets/esm-Cmrq9Tli.js +1 -0
- package/dist/interface/assets/esm-CrZMuT0_.js +1 -0
- package/dist/interface/assets/esm-CxS-x_QY.js +1 -0
- package/dist/interface/assets/esm-D-xtFbBs.js +1 -0
- package/dist/interface/assets/esm-D6PR9MbI.js +1 -0
- package/dist/interface/assets/esm-DTxHX_m3.js +1 -0
- package/dist/interface/assets/esm-Dzks7cY7.js +1 -0
- package/dist/interface/assets/esm-nCaFxJ36.js +1 -0
- package/dist/interface/assets/{eventIcons-GmV5zC8O.js → eventIcons-OxuOsPp8.js} +1 -1
- package/dist/interface/assets/{face-recognition-CS2Rf6Zc.js → face-recognition-CPwwcApe.js} +1 -1
- package/dist/interface/assets/{github-BrijWwqw.js → github-CWr5rTTh.js} +1 -1
- package/dist/interface/assets/{grid-fill-vdgMWTlf.js → grid-fill-DepYpY1i.js} +1 -1
- package/dist/interface/assets/{hasPermission-LUHh3i2_.js → hasPermission-FP_aMe9r.js} +1 -1
- package/dist/interface/assets/{home-By41XQGy.js → home-DTNk2yog.js} +1 -1
- package/dist/interface/assets/{information-outline-Kgo_4wPg.js → information-outline-BaVRQ1WL.js} +1 -1
- package/dist/interface/assets/{instances-A-hAMJRC.js → instances-DWzDpyhw.js} +1 -1
- package/dist/interface/assets/{lightbulb-outline-XVFprQ8f.js → lightbulb-outline-DPjpJn5F.js} +1 -1
- package/dist/interface/assets/main-7zIUc9Mt.css +1 -0
- package/dist/interface/assets/main-eaoHjmUh.js +3 -0
- package/dist/interface/assets/{microphone-GG_JO-aa.js → microphone-DJsihw9n.js} +1 -1
- package/dist/interface/assets/{motion-sensor-BvWcG84o.js → motion-sensor-D9ErhY-p.js} +1 -1
- package/dist/interface/assets/native-BK8vZMAo.js +1 -0
- package/dist/interface/assets/native-Z2MQ5D82.js +1 -0
- package/dist/interface/assets/{nodeDefinitions-BSLOZMDt.js → nodeDefinitions-kqqBPelM.js} +1 -1
- package/dist/interface/assets/{notifications-eX5p2YaS.js → notifications-Dae9EImK.js} +1 -1
- package/dist/interface/assets/{play-solid-BtIose8X.js → play-solid-cginGSgT.js} +1 -1
- package/dist/interface/assets/plugin-DHenq6mQ.js +1 -0
- package/dist/interface/assets/{plugins-DfuM5k5Q.js → plugins-bWz9yaCS.js} +1 -1
- package/dist/interface/assets/{plus-CPMfvO5i.js → plus-CJ2GnX_q.js} +1 -1
- package/dist/interface/assets/{plus-BKTSMYeY.js → plus-CJzoaVfR.js} +1 -1
- package/dist/interface/assets/{power-M2I2_fCM.js → power-CH_DVgfm.js} +1 -1
- package/dist/interface/assets/{puzzle-filled-C2Lcmza4.js → puzzle-filled-BsJvAZrD.js} +1 -1
- package/dist/interface/assets/{refresh-rounded-B-PvjcAK.js → refresh-rounded-D9PcUR6I.js} +1 -1
- package/dist/interface/assets/{ring-resize-CdUkE4zr.js → ring-resize-QxO72Hs5.js} +1 -1
- package/dist/interface/assets/{round-alt-arrow-left-bold-MIf6gSgD.js → round-alt-arrow-left-bold-C57m543l.js} +1 -1
- package/dist/interface/assets/{round-restart-alt-rDMgoX7-.js → round-restart-alt-C6zOLIvt.js} +1 -1
- package/dist/interface/assets/router-jxQ55Ssp.js +2 -0
- package/dist/interface/assets/{routerState-DxipV4mY.js → routerState-D1WXHNt5.js} +1 -1
- package/dist/interface/assets/{search-CHjonsLq.js → search-BgYt2zqA.js} +1 -1
- package/dist/interface/assets/{server-CoQ6jFok.js → server-Uk7xnHXH.js} +1 -1
- package/dist/interface/assets/{settings-CJjCbQsx.js → settings-DHy64jsU.js} +1 -1
- package/dist/interface/assets/shares-Cz4zuZa_.js +1 -0
- package/dist/interface/assets/{shield-check-oKTXgAfr.js → shield-check-0hUJRszq.js} +1 -1
- package/dist/interface/assets/{source-branch-aFYjLKkc.js → source-branch-Dv9Du0bc.js} +1 -1
- package/dist/interface/assets/{terminal-B8qmxarl.js → terminal-CNEjR0aR.js} +1 -1
- package/dist/interface/assets/{theme-BzXEv5Er.js → theme-GXDCnY_7.js} +1 -1
- package/dist/interface/assets/{trash-2-rEVmOxCl.js → trash-2-CAa4rD_d.js} +1 -1
- package/dist/interface/assets/{trash-fill-DfnCMe3h.js → trash-fill-Br00Vept.js} +1 -1
- package/dist/interface/assets/{trash2-BvyW-bOK.js → trash2-tuK9V5bO.js} +1 -1
- package/dist/interface/assets/{types-Ds4g4ynm.js → types-BpBkaZ8S.js} +1 -1
- package/dist/interface/assets/{types-CAW47AJe.js → types-jpiqSoyF.js} +1 -1
- package/dist/interface/assets/{ui-Dg-QtLMl.js → ui-DzCa9zWL.js} +1 -1
- package/dist/interface/assets/{upload-DkFN5YK-.js → upload-DAasFa9r.js} +1 -1
- package/dist/interface/assets/useAppVersion-CqnE2uYa.js +1 -0
- package/dist/interface/assets/useBackupRestore-Dm7jUOC-.js +1 -0
- package/dist/interface/assets/{useBiometricCredentials-Buylkybs.js → useBiometricCredentials-DJqfT1lk.js} +1 -1
- package/dist/interface/assets/useCameraOptions-Dv3QCMBK.js +1 -0
- package/dist/interface/assets/{useCuiCameraDrawer-DwlhaZ2i.js → useCuiCameraDrawer-D1zCpVbQ.js} +1 -1
- package/dist/interface/assets/useCuiDialog-C02Or5oR.js +2 -0
- package/dist/interface/assets/{useFileDownload-Bhdbhy_2.js → useFileDownload-CwxydJkw.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-81hTPkwS.js → useLogsSocket-CunaH_T7.js} +2 -2
- package/dist/interface/assets/{useServerRestart-3pT0h7CH.js → useServerRestart-BQO5FbNN.js} +1 -1
- package/dist/interface/assets/{useSharedComposables-Ki01kFNJ.js → useSharedComposables-BrdI_nDH.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-CHITNYE7.js → useStreamStatus-e7l-QLmI.js} +1 -1
- package/dist/interface/assets/useUpdateChannel-CW45dNAk.js +1 -0
- package/dist/interface/assets/useUserOptions-EhjyVt4P.js +1 -0
- package/dist/interface/assets/users.schema-4d5Hcv-l.js +1 -0
- package/dist/interface/assets/vendor-ClrOISZp.js +22 -0
- package/dist/interface/assets/{vendor-ace-DdrK3_G3.js → vendor-ace-BlP3GAWI.js} +4 -4
- package/dist/interface/assets/vendor-cameraui-E9E7fP4y.js +1978 -0
- package/dist/interface/assets/{vendor-capacitor-Cmm68VPg.js → vendor-capacitor-DWVJM4o8.js} +2 -2
- package/dist/interface/assets/vendor-chart-Cn72DQnu.js +3 -0
- package/dist/interface/assets/{vendor-core-DnC_SdtD.js → vendor-core-D2PMTaN3.js} +1 -1
- package/dist/interface/assets/{vendor-dnd-BAVhbK8Q.js → vendor-dnd-B9-e5xxH.js} +1 -1
- package/dist/interface/assets/{vendor-draggabilly-C56V4WL_.js → vendor-draggabilly-CPB8E5_r.js} +1 -1
- package/dist/interface/assets/{vendor-leaflet-_2Z0GiOD.js → vendor-leaflet-BMMJO5Nd.js} +1 -1
- package/dist/interface/assets/{vendor-markdown-D8dkSMBf.js → vendor-markdown-D7EhExwE.js} +2 -2
- package/dist/interface/assets/{vendor-primevue-OV61z06m.js → vendor-primevue-Ba4XR6PC.js} +301 -301
- package/dist/interface/assets/vendor-vueflow-Ci6VMxDa.js +26 -0
- package/dist/interface/assets/vendor-xterm-IIYDrBG1.js +142 -0
- package/dist/interface/assets/view-grid-Bs5Mc3pI.js +1 -0
- package/dist/interface/assets/view-grid-CWZLWCco.css +1 -0
- package/dist/interface/assets/web-1H50tiqZ.js +1 -0
- package/dist/interface/assets/web-BBRAFu75.js +1 -0
- package/dist/interface/assets/web-BQqZ-0se.js +1 -0
- package/dist/interface/assets/web-BgDADYuL.js +1 -0
- package/dist/interface/assets/web-BjKL51lK-DF7_OzmH.js +1 -0
- package/dist/interface/assets/web-C3oASmFS.js +1 -0
- package/dist/interface/assets/web-CQIOnZbD.js +1 -0
- package/dist/interface/assets/web-CW6kIZQg.js +1 -0
- package/dist/interface/assets/web-CXLWILCn.js +1 -0
- package/dist/interface/assets/web-Cz9RS9vK.js +1 -0
- package/dist/interface/assets/web-D7_BjGke.js +1 -0
- package/dist/interface/assets/web-Dn-uR4FN.js +1 -0
- package/dist/interface/assets/web-GsFXaCFL.js +1 -0
- package/dist/interface/assets/web-kh2rHftO.js +1 -0
- package/dist/interface/assets/{webhook-nx5ZDIQ-.js → webhook-BCBlzc3z.js} +1 -1
- package/dist/interface/assets/workbox-window.prod.es5-CQTy-jf8.js +1 -0
- package/dist/interface/assets/{zoom-in-wM6G8w-4.js → zoom-in-CKM5nWQX.js} +1 -1
- package/dist/interface/index.html +88 -85
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +36 -19
- package/dist/server/requirements.txt +4 -3
- package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/signal_handler.py +17 -9
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +10 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/event_emitter.py +45 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +3 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/storage/__init__.py +47 -12
- package/dist/server/src/api/controllers/plugins.controller.js +11 -3
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/controllers/remote.controller.d.ts +1 -0
- package/dist/server/src/api/controllers/remote.controller.js +9 -2
- package/dist/server/src/api/controllers/remote.controller.js.map +1 -1
- package/dist/server/src/api/database/index.d.ts +2 -1
- package/dist/server/src/api/database/index.js +22 -3
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/middlewares/authValidation.middleware.js +1 -1
- package/dist/server/src/api/middlewares/authValidation.middleware.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +27 -0
- package/dist/server/src/api/schemas/cameras.schema.js +6 -0
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/config.schema.d.ts +2 -0
- package/dist/server/src/api/schemas/config.schema.js +1 -0
- package/dist/server/src/api/schemas/config.schema.js.map +1 -1
- package/dist/server/src/api/services/backup.service.d.ts +4 -0
- package/dist/server/src/api/services/backup.service.js +35 -4
- package/dist/server/src/api/services/backup.service.js.map +1 -1
- package/dist/server/src/api/services/plugins.service.js +1 -1
- package/dist/server/src/api/services/plugins.service.js.map +1 -1
- package/dist/server/src/api/services/remote.service.d.ts +0 -1
- package/dist/server/src/api/services/remote.service.js +6 -13
- package/dist/server/src/api/services/remote.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +1 -0
- package/dist/server/src/api.d.ts +1 -0
- package/dist/server/src/api.js +11 -3
- package/dist/server/src/api.js.map +1 -1
- package/dist/server/src/camera/decoder/audio-source.d.ts +2 -0
- package/dist/server/src/camera/decoder/audio-source.js +12 -0
- package/dist/server/src/camera/decoder/audio-source.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-coordinator.js +16 -2
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
- package/dist/server/src/camera/decoder/frame-source.d.ts +2 -0
- package/dist/server/src/camera/decoder/frame-source.js +23 -2
- package/dist/server/src/camera/decoder/frame-source.js.map +1 -1
- package/dist/server/src/camera/decoder/ptz-autotracker.js +51 -78
- package/dist/server/src/camera/decoder/ptz-autotracker.js.map +1 -1
- package/dist/server/src/camera/streaming/fmp4-session.js +9 -0
- package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -1
- package/dist/server/src/camera/streaming/rtp-session.js +0 -13
- package/dist/server/src/camera/streaming/rtp-session.js.map +1 -1
- package/dist/server/src/go2rtc/api/routes/streams.js +5 -6
- package/dist/server/src/go2rtc/api/routes/streams.js.map +1 -1
- package/dist/server/src/go2rtc/index.js +1 -1
- package/dist/server/src/go2rtc/index.js.map +1 -1
- package/dist/server/src/go2rtc/types.d.ts +3 -0
- package/dist/server/src/go2rtc/types.js.map +1 -1
- package/dist/server/src/main.js +1 -1
- package/dist/server/src/main.js.map +1 -1
- package/dist/server/src/manager/deviceManager.js +4 -1
- package/dist/server/src/manager/deviceManager.js.map +1 -1
- package/dist/server/src/manager/discoveryManager.d.ts +3 -2
- package/dist/server/src/manager/discoveryManager.js +60 -29
- package/dist/server/src/manager/discoveryManager.js.map +1 -1
- package/dist/server/src/plugins/config-store.d.ts +1 -1
- package/dist/server/src/plugins/config-store.js +17 -10
- package/dist/server/src/plugins/config-store.js.map +1 -1
- package/dist/server/src/plugins/index.d.ts +1 -0
- package/dist/server/src/plugins/index.js +38 -2
- package/dist/server/src/plugins/index.js.map +1 -1
- package/dist/server/src/plugins/plugin.js +2 -2
- package/dist/server/src/plugins/plugin.js.map +1 -1
- package/dist/server/src/plugins/runtime/base.js +10 -5
- package/dist/server/src/plugins/runtime/base.js.map +1 -1
- package/dist/server/src/plugins/runtime/go/index.js +1 -0
- package/dist/server/src/plugins/runtime/go/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/child.d.ts +1 -0
- package/dist/server/src/plugins/runtime/node/child.js +62 -19
- package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/configDb.d.ts +8 -0
- package/dist/server/src/plugins/runtime/node/configDb.js +15 -0
- package/dist/server/src/plugins/runtime/node/configDb.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/index.js +2 -0
- package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/pluginApi.d.ts +4 -0
- package/dist/server/src/plugins/runtime/node/pluginApi.js +13 -5
- package/dist/server/src/plugins/runtime/node/pluginApi.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.d.ts +1 -2
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +2 -8
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/coreManager.d.ts +3 -2
- package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +9 -13
- package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/deviceManager.d.ts +3 -2
- package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js +14 -12
- package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/fileServe.js +4 -9
- package/dist/server/src/plugins/runtime/node/proxy/fileServe.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/notificationManager.js +3 -0
- package/dist/server/src/plugins/runtime/node/proxy/notificationManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/storage.d.ts +5 -2
- package/dist/server/src/plugins/runtime/node/storage.js +92 -67
- package/dist/server/src/plugins/runtime/node/storage.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/storageController.d.ts +2 -0
- package/dist/server/src/plugins/runtime/node/storageController.js +12 -4
- package/dist/server/src/plugins/runtime/node/storageController.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/child.py +50 -38
- package/dist/server/src/plugins/runtime/python/config_db.py +28 -17
- package/dist/server/src/plugins/runtime/python/index.js +1 -0
- package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/plugin_api.py +5 -5
- package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +14 -13
- package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +11 -14
- package/dist/server/src/plugins/runtime/python/proxy/device_manager.py +23 -18
- package/dist/server/src/plugins/runtime/python/remote_urls.py +3 -7
- package/dist/server/src/plugins/runtime/python/storage.py +157 -126
- package/dist/server/src/plugins/runtime/python/storage_controller.py +28 -13
- package/dist/server/src/plugins/runtime/python/store.py +513 -0
- package/dist/server/src/plugins/runtime/python/store_migrate.py +59 -0
- package/dist/server/src/plugins/store/coalescingWriter.d.ts +7 -0
- package/dist/server/src/plugins/store/coalescingWriter.js +52 -0
- package/dist/server/src/plugins/store/coalescingWriter.js.map +1 -0
- package/dist/server/src/plugins/store/envelope.d.ts +5 -0
- package/dist/server/src/plugins/store/envelope.js +40 -0
- package/dist/server/src/plugins/store/envelope.js.map +1 -0
- package/dist/server/src/plugins/store/layout.d.ts +2 -0
- package/dist/server/src/plugins/store/layout.js +60 -0
- package/dist/server/src/plugins/store/layout.js.map +1 -0
- package/dist/server/src/plugins/store/location.d.ts +14 -0
- package/dist/server/src/plugins/store/location.js +55 -0
- package/dist/server/src/plugins/store/location.js.map +1 -0
- package/dist/server/src/plugins/store/migrate.d.ts +1 -0
- package/dist/server/src/plugins/store/migrate.js +22 -0
- package/dist/server/src/plugins/store/migrate.js.map +1 -0
- package/dist/server/src/plugins/store/pluginStoreFile.d.ts +14 -0
- package/dist/server/src/plugins/store/pluginStoreFile.js +58 -0
- package/dist/server/src/plugins/store/pluginStoreFile.js.map +1 -0
- package/dist/server/src/plugins/store/storeFile.d.ts +5 -0
- package/dist/server/src/plugins/store/storeFile.js +112 -0
- package/dist/server/src/plugins/store/storeFile.js.map +1 -0
- package/dist/server/src/plugins/store/validate.d.ts +1 -0
- package/dist/server/src/plugins/store/validate.js +49 -0
- package/dist/server/src/plugins/store/validate.js.map +1 -0
- package/dist/server/src/plugins/worker.js +9 -8
- package/dist/server/src/plugins/worker.js.map +1 -1
- package/dist/server/src/remote/services/cloudflare-managed.js +2 -2
- package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -1
- package/dist/server/src/remote/services/cloudflare.js +1 -0
- package/dist/server/src/remote/services/cloudflare.js.map +1 -1
- package/dist/server/src/remote/tunnel/client.js +1 -1
- package/dist/server/src/remote/tunnel/client.js.map +1 -1
- package/dist/server/src/rpc/interfaces/discovery.d.ts +1 -0
- package/dist/server/src/rpc/server.js +12 -5
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/services/config/defaults.js +1 -0
- package/dist/server/src/services/config/defaults.js.map +1 -1
- package/dist/server/src/services/config/index.d.ts +1 -0
- package/dist/server/src/services/config/index.js +2 -0
- package/dist/server/src/services/config/index.js.map +1 -1
- package/dist/server/src/services/config/types.d.ts +1 -0
- package/dist/server/src/utils/npm/index.d.ts +1 -1
- package/dist/server/src/utils/npm/index.js +7 -4
- package/dist/server/src/utils/npm/index.js.map +1 -1
- package/dist/server/src/workers/capabilities/plugin-host.js +1 -1
- package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -1
- package/package.json +36 -19
- package/dist/interface/assets/About-CjQs3rZw.js +0 -1
- package/dist/interface/assets/Adminpanel-BTIcUxWm.js +0 -1
- package/dist/interface/assets/Automation-BNbTehB5.js +0 -2
- package/dist/interface/assets/AutomationImport-BEm0hc0d.js +0 -2
- package/dist/interface/assets/Camera-BG8K5bH_.css +0 -1
- package/dist/interface/assets/Camera-eIsFEdVo.js +0 -2
- package/dist/interface/assets/Cameras-54LaZPN3.css +0 -1
- package/dist/interface/assets/Cameras-Bswv6ojJ.js +0 -652
- package/dist/interface/assets/Camview-DMywoy_4.js +0 -1
- package/dist/interface/assets/Config-C7H5amm4.js +0 -2
- package/dist/interface/assets/ConfigActionCameraControl-C0hvC4QW.js +0 -1
- package/dist/interface/assets/ConfigActionHttp-BF8vrrHR.js +0 -1
- package/dist/interface/assets/ConfigActionOutput-CxB3eLLl.js +0 -1
- package/dist/interface/assets/ConfigConditionSensorState-BvygRJ79.js +0 -1
- package/dist/interface/assets/ConfigConditionTime-B0zctDc4.js +0 -1
- package/dist/interface/assets/Console-DHlNpv-R.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-ChG_av5z.js +0 -1
- package/dist/interface/assets/CuiCameraCard-BGAQxNHs.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-B25441dH.js +0 -1
- package/dist/interface/assets/CuiCameraSnapshot-BLM8v7rY.js +0 -1
- package/dist/interface/assets/CuiCameraTable-3joRnfiM.js +0 -2
- package/dist/interface/assets/CuiMarkdownContent-5LJK4h8V.js +0 -1
- package/dist/interface/assets/CuiPluginCard-De_cbBBe.js +0 -2
- package/dist/interface/assets/CuiRecordingsGrid-DHSABYJb.js +0 -1
- package/dist/interface/assets/CuiSchema-D35n-DE5.js +0 -1
- package/dist/interface/assets/Faces-BJlHL3gp.js +0 -1
- package/dist/interface/assets/FirstSteps-D1Zf1CYN.js +0 -1
- package/dist/interface/assets/Logs-CW5EqpAL.js +0 -6
- package/dist/interface/assets/Plugin-DHhrlRqP.css +0 -1
- package/dist/interface/assets/Plugin-DIPGTrNi.js +0 -1
- package/dist/interface/assets/PluginDetail-D1TJZJhY.js +0 -2
- package/dist/interface/assets/PluginSearch-C5bkQgYA.js +0 -1
- package/dist/interface/assets/PluginSearch-DqwgO886.js +0 -2
- package/dist/interface/assets/Plugins-o7IfSFjd.js +0 -1
- package/dist/interface/assets/Recordings-DTw5IG8W.js +0 -1
- package/dist/interface/assets/SettingsAccount-Ch2SR80X.js +0 -1
- package/dist/interface/assets/SettingsAccount-DIwWUyp6.js +0 -1
- package/dist/interface/assets/SettingsAppearance-CkF7biyP.js +0 -1
- package/dist/interface/assets/SettingsBackup-BigThNuk.js +0 -1
- package/dist/interface/assets/SettingsNotifications-XLBjwgwX.js +0 -2
- package/dist/interface/assets/SettingsRecordings-Dp9tJdHk.js +0 -1
- package/dist/interface/assets/SettingsRemote-B5jm7MdB.js +0 -1
- package/dist/interface/assets/SettingsSystem-Isy5hiDl.js +0 -2
- package/dist/interface/assets/SettingsUsers-QuUercEC.js +0 -1
- package/dist/interface/assets/Terminal-BTfYdYuv.js +0 -4
- package/dist/interface/assets/VersionsHandler-BYj7-lpw.js +0 -7
- package/dist/interface/assets/ace-DQ1lNH50.js +0 -1
- package/dist/interface/assets/api-D7tGlI-z.css +0 -2
- package/dist/interface/assets/api-DoPgGqHU.js +0 -2
- package/dist/interface/assets/auth-BiWutL3Z.js +0 -1
- package/dist/interface/assets/automations-hsi5MCtT.js +0 -1
- package/dist/interface/assets/backup-CHJIDGvl.js +0 -1
- package/dist/interface/assets/cloudHandoff-lLBGqrXl.js +0 -1
- package/dist/interface/assets/esm-0fUwrSGA2.js +0 -1
- package/dist/interface/assets/esm-50afX45o.js +0 -1
- package/dist/interface/assets/esm-B0VLR4af.js +0 -1
- package/dist/interface/assets/esm-BfZLgtrg.js +0 -1
- package/dist/interface/assets/esm-Bnmu7wlp.js +0 -1
- package/dist/interface/assets/esm-CG1dvQ4U.js +0 -1
- package/dist/interface/assets/esm-CZTaj2CB.js +0 -1
- package/dist/interface/assets/esm-CxRM74Bx.js +0 -1
- package/dist/interface/assets/esm-DBpRougC.js +0 -1
- package/dist/interface/assets/esm-DQ7OYRdT.js +0 -1
- package/dist/interface/assets/esm-DVYEXBOA.js +0 -1
- package/dist/interface/assets/esm-DdCbmz73.js +0 -1
- package/dist/interface/assets/esm-DiryHoSP.js +0 -1
- package/dist/interface/assets/esm-DyoMjqMI.js +0 -1
- package/dist/interface/assets/main-BjuXWRyJ.css +0 -1
- package/dist/interface/assets/main-DEbfQmxF.js +0 -3
- package/dist/interface/assets/native-Dg-M0-9s.js +0 -1
- package/dist/interface/assets/native-DyQXBqB9.js +0 -1
- package/dist/interface/assets/plugin-_eNpRpqe.js +0 -1
- package/dist/interface/assets/router-D1e_o7wa.js +0 -2
- package/dist/interface/assets/shares-VWzmq1V-.js +0 -1
- package/dist/interface/assets/useCameraOptions-GAeXCTvO.js +0 -1
- package/dist/interface/assets/useCuiDialog-yRn5B1oO.js +0 -2
- package/dist/interface/assets/useUserOptions-CUvE4OL9.js +0 -1
- package/dist/interface/assets/users.schema-DWL8-tZN.js +0 -1
- package/dist/interface/assets/vendor-c9Zhw4pk.js +0 -22
- package/dist/interface/assets/vendor-cameraui-DhctzD3V.js +0 -1978
- package/dist/interface/assets/vendor-chart-BjXPY6za.js +0 -3
- package/dist/interface/assets/vendor-vueflow-CJdb-8KZ.js +0 -26
- package/dist/interface/assets/vendor-xterm-BRN-hOYD.js +0 -145
- package/dist/interface/assets/view-grid-D04t817d.css +0 -1
- package/dist/interface/assets/view-grid-_whxsqcn.js +0 -1
- package/dist/interface/assets/web-B9o4PkxX.js +0 -1
- package/dist/interface/assets/web-BDuGOqy7.js +0 -1
- package/dist/interface/assets/web-BUVPtx3X.js +0 -1
- package/dist/interface/assets/web-B_hO9nzV.js +0 -1
- package/dist/interface/assets/web-BjKL51lK-CV2GxIDK.js +0 -1
- package/dist/interface/assets/web-CCgyqWSl.js +0 -1
- package/dist/interface/assets/web-Cm_fnqV2.js +0 -1
- package/dist/interface/assets/web-CsSSdPVW.js +0 -1
- package/dist/interface/assets/web-D2AMa4qD.js +0 -1
- package/dist/interface/assets/web-D2vwufvW.js +0 -1
- package/dist/interface/assets/web-D86U7zR6.js +0 -1
- package/dist/interface/assets/web-DilWncpX.js +0 -1
- package/dist/interface/assets/web-OjqOEI0k.js +0 -1
- package/dist/interface/assets/web-mrIKbnbx.js +0 -1
- package/dist/interface/assets/workbox-window.prod.es5-CsKLpYYC.js +0 -1
- /package/dist/interface/assets/{error-256-DLKVOU2S.png → logo-512-DLKVOU2S.png} +0 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
const CANONICAL_SECTIONS = new Set(['plugin', 'cameras', 'sensors']);
|
|
2
|
+
const LEGACY_SENSOR_MARKER = ':sensor:';
|
|
3
|
+
export function isCanonicalLayout(payload) {
|
|
4
|
+
return Object.keys(payload).every((key) => CANONICAL_SECTIONS.has(key));
|
|
5
|
+
}
|
|
6
|
+
function isGoLegacyLayout(payload, pluginId) {
|
|
7
|
+
const keys = Object.keys(payload);
|
|
8
|
+
return keys.length > 0 && keys.every((key) => key.startsWith(`${pluginId}.`));
|
|
9
|
+
}
|
|
10
|
+
export function remapLegacyLayout(payload, pluginId) {
|
|
11
|
+
if (isCanonicalLayout(payload) || isGoLegacyLayout(payload, pluginId)) {
|
|
12
|
+
return payload;
|
|
13
|
+
}
|
|
14
|
+
const canonical = {};
|
|
15
|
+
for (const section of CANONICAL_SECTIONS) {
|
|
16
|
+
if (payload[section] !== undefined) {
|
|
17
|
+
canonical[section] = payload[section];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
for (const [key, values] of Object.entries(payload)) {
|
|
21
|
+
if (CANONICAL_SECTIONS.has(key)) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
if (key === 'storage') {
|
|
25
|
+
if (canonical.plugin !== undefined) {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
canonical.plugin = values;
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
const sensorIdx = key.indexOf(LEGACY_SENSOR_MARKER);
|
|
32
|
+
if (sensorIdx !== -1) {
|
|
33
|
+
// <camId>:sensor:<type>:<pluginId>:<name> — type and pluginId contain no
|
|
34
|
+
// colons; the name keeps everything after them verbatim.
|
|
35
|
+
const cameraId = key.slice(0, sensorIdx);
|
|
36
|
+
const rest = key.slice(sensorIdx + LEGACY_SENSOR_MARKER.length);
|
|
37
|
+
const typeEnd = rest.indexOf(':');
|
|
38
|
+
const pluginEnd = rest.indexOf(':', typeEnd + 1);
|
|
39
|
+
if (typeEnd !== -1 && pluginEnd !== -1) {
|
|
40
|
+
const sensorType = rest.slice(0, typeEnd);
|
|
41
|
+
const sensorName = rest.slice(pluginEnd + 1);
|
|
42
|
+
if (canonical.sensors?.[cameraId]?.[sensorType]?.[sensorName] !== undefined) {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
canonical.sensors ??= {};
|
|
46
|
+
canonical.sensors[cameraId] ??= {};
|
|
47
|
+
canonical.sensors[cameraId][sensorType] ??= {};
|
|
48
|
+
canonical.sensors[cameraId][sensorType][sensorName] = values;
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (canonical.cameras?.[key] !== undefined) {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
canonical.cameras ??= {};
|
|
56
|
+
canonical.cameras[key] = values;
|
|
57
|
+
}
|
|
58
|
+
return canonical;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../../../src/plugins/store/layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type StoreLocation = {
|
|
2
|
+
kind: 'plugin';
|
|
3
|
+
} | {
|
|
4
|
+
kind: 'camera';
|
|
5
|
+
cameraId: string;
|
|
6
|
+
} | {
|
|
7
|
+
kind: 'sensor';
|
|
8
|
+
cameraId: string;
|
|
9
|
+
sensorType: string;
|
|
10
|
+
sensorName: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function readLocation(config: Record<string, any>, location: StoreLocation): Record<string, any> | undefined;
|
|
13
|
+
export declare function writeLocation(config: Record<string, any>, location: StoreLocation, values: Record<string, any>): void;
|
|
14
|
+
export declare function deleteLocation(config: Record<string, any>, location: StoreLocation): void;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export function readLocation(config, location) {
|
|
2
|
+
switch (location.kind) {
|
|
3
|
+
case 'plugin':
|
|
4
|
+
return config.plugin;
|
|
5
|
+
case 'camera':
|
|
6
|
+
return config.cameras?.[location.cameraId];
|
|
7
|
+
case 'sensor':
|
|
8
|
+
return config.sensors?.[location.cameraId]?.[location.sensorType]?.[location.sensorName];
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export function writeLocation(config, location, values) {
|
|
12
|
+
switch (location.kind) {
|
|
13
|
+
case 'plugin':
|
|
14
|
+
config.plugin = values;
|
|
15
|
+
return;
|
|
16
|
+
case 'camera':
|
|
17
|
+
config.cameras ??= {};
|
|
18
|
+
config.cameras[location.cameraId] = values;
|
|
19
|
+
return;
|
|
20
|
+
case 'sensor':
|
|
21
|
+
config.sensors ??= {};
|
|
22
|
+
config.sensors[location.cameraId] ??= {};
|
|
23
|
+
config.sensors[location.cameraId][location.sensorType] ??= {};
|
|
24
|
+
config.sensors[location.cameraId][location.sensorType][location.sensorName] = values;
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export function deleteLocation(config, location) {
|
|
29
|
+
switch (location.kind) {
|
|
30
|
+
case 'plugin':
|
|
31
|
+
delete config.plugin;
|
|
32
|
+
return;
|
|
33
|
+
case 'camera':
|
|
34
|
+
delete config.cameras?.[location.cameraId];
|
|
35
|
+
pruneIfEmpty(config, 'cameras');
|
|
36
|
+
return;
|
|
37
|
+
case 'sensor': {
|
|
38
|
+
const byType = config.sensors?.[location.cameraId]?.[location.sensorType];
|
|
39
|
+
if (byType) {
|
|
40
|
+
delete byType[location.sensorName];
|
|
41
|
+
pruneIfEmpty(config.sensors[location.cameraId], location.sensorType);
|
|
42
|
+
pruneIfEmpty(config.sensors, location.cameraId);
|
|
43
|
+
pruneIfEmpty(config, 'sensors');
|
|
44
|
+
}
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function pruneIfEmpty(parent, key) {
|
|
50
|
+
const child = parent[key];
|
|
51
|
+
if (child && typeof child === 'object' && Object.keys(child).length === 0) {
|
|
52
|
+
delete parent[key];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=location.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"location.js","sourceRoot":"","sources":["../../../../../src/plugins/store/location.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,YAAY,CAAC,MAA2B,EAAE,QAAuB;IAC/E,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC7C,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC7F,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAA2B,EAAE,QAAuB,EAAE,MAA2B;IAC7G,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACvB,OAAO;QACT,KAAK,QAAQ;YACX,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;YAC3C,OAAO;QACT,KAAK,QAAQ;YACX,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC9D,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;YACrF,OAAO;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAA2B,EAAE,QAAuB;IACjF,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,MAAM,CAAC;YACrB,OAAO;QACT,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC3C,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAChC,OAAO;QACT,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC1E,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACnC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACrE,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAChD,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAClC,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,MAA2B,EAAE,GAAW;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function migrateLmdbToStoreFile(volumeDir: string, storePath: string): Promise<boolean>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { open } from 'lmdb';
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { writeStoreFile } from './storeFile.js';
|
|
5
|
+
export async function migrateLmdbToStoreFile(volumeDir, storePath) {
|
|
6
|
+
if (existsSync(storePath) || !existsSync(join(volumeDir, 'data.mdb'))) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
const db = open(volumeDir, { name: 'plugins' });
|
|
10
|
+
try {
|
|
11
|
+
const config = db.get('config');
|
|
12
|
+
if (!config || Object.keys(config).length === 0) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
await writeStoreFile(storePath, config);
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
finally {
|
|
19
|
+
await db.close();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../../../src/plugins/store/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,SAAiB,EAAE,SAAiB;IAC/E,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAoC,CAAC;QACnE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const STORE_FILE_NAME = "store.cui";
|
|
2
|
+
export declare class PluginStoreFile {
|
|
3
|
+
private readonly volumeDir;
|
|
4
|
+
private readonly pluginId;
|
|
5
|
+
private readonly path;
|
|
6
|
+
private readonly writer;
|
|
7
|
+
private payload;
|
|
8
|
+
private closed;
|
|
9
|
+
constructor(volumeDir: string, pluginId: string);
|
|
10
|
+
open(): Promise<void>;
|
|
11
|
+
get(): Record<string, any>;
|
|
12
|
+
put(payload: Record<string, any>): Promise<void>;
|
|
13
|
+
close(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { mkdir } from 'node:fs/promises';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { CoalescingWriter } from './coalescingWriter.js';
|
|
4
|
+
import { remapLegacyLayout } from './layout.js';
|
|
5
|
+
import { migrateLmdbToStoreFile } from './migrate.js';
|
|
6
|
+
import { backupStoreFile, readStoreFile, removeOrphanedTmpFiles, writeStoreFile } from './storeFile.js';
|
|
7
|
+
export const STORE_FILE_NAME = 'store.cui';
|
|
8
|
+
export class PluginStoreFile {
|
|
9
|
+
volumeDir;
|
|
10
|
+
pluginId;
|
|
11
|
+
path;
|
|
12
|
+
writer;
|
|
13
|
+
payload = {};
|
|
14
|
+
closed = true;
|
|
15
|
+
constructor(volumeDir, pluginId) {
|
|
16
|
+
this.volumeDir = volumeDir;
|
|
17
|
+
this.pluginId = pluginId;
|
|
18
|
+
this.path = join(volumeDir, STORE_FILE_NAME);
|
|
19
|
+
this.writer = new CoalescingWriter((snapshot) => writeStoreFile(this.path, snapshot));
|
|
20
|
+
}
|
|
21
|
+
async open() {
|
|
22
|
+
await mkdir(this.volumeDir, { recursive: true });
|
|
23
|
+
await removeOrphanedTmpFiles(this.path);
|
|
24
|
+
let payload = await readStoreFile(this.path);
|
|
25
|
+
if (payload === undefined) {
|
|
26
|
+
const migrated = await migrateLmdbToStoreFile(this.volumeDir, this.path);
|
|
27
|
+
payload = migrated ? await readStoreFile(this.path) : undefined;
|
|
28
|
+
if (payload === undefined) {
|
|
29
|
+
payload = {};
|
|
30
|
+
await writeStoreFile(this.path, payload);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const remapped = remapLegacyLayout(payload, this.pluginId);
|
|
34
|
+
if (remapped !== payload) {
|
|
35
|
+
await writeStoreFile(this.path, remapped);
|
|
36
|
+
}
|
|
37
|
+
this.payload = remapped;
|
|
38
|
+
await backupStoreFile(this.path);
|
|
39
|
+
this.closed = false;
|
|
40
|
+
}
|
|
41
|
+
get() {
|
|
42
|
+
return this.payload;
|
|
43
|
+
}
|
|
44
|
+
async put(payload) {
|
|
45
|
+
if (this.closed) {
|
|
46
|
+
// A silently "successful" no-op here would lose the write during
|
|
47
|
+
// shutdown windows. Fail loudly instead.
|
|
48
|
+
throw new Error(`store: put on closed store ${this.path}`);
|
|
49
|
+
}
|
|
50
|
+
this.payload = payload;
|
|
51
|
+
await this.writer.write(payload);
|
|
52
|
+
}
|
|
53
|
+
async close() {
|
|
54
|
+
this.closed = true;
|
|
55
|
+
await this.writer.idle();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=pluginStoreFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pluginStoreFile.js","sourceRoot":"","sources":["../../../../../src/plugins/store/pluginStoreFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Logger } from '@camera.ui/common';
|
|
2
|
+
export declare function writeStoreFile(path: string, payload: Record<string, any>): Promise<void>;
|
|
3
|
+
export declare function readStoreFile(path: string): Promise<Record<string, any> | undefined>;
|
|
4
|
+
export declare function backupStoreFile(path: string, log?: Logger): Promise<void>;
|
|
5
|
+
export declare function removeOrphanedTmpFiles(path: string): Promise<void>;
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { copyFile, open, readFile, readdir, rename, unlink } from 'node:fs/promises';
|
|
2
|
+
import { basename, dirname, join } from 'node:path';
|
|
3
|
+
import { setTimeout as delay } from 'node:timers/promises';
|
|
4
|
+
import { StoreCorruptError, decodeEnvelope, encodeEnvelope } from './envelope.js';
|
|
5
|
+
// Windows AV scanners / the search indexer transiently hold the rename target
|
|
6
|
+
// open; EPERM/EACCES there is retryable within a small budget (~0.5s total).
|
|
7
|
+
const RENAME_RETRY_DELAYS_MS = [10, 25, 60, 150, 300];
|
|
8
|
+
async function renameWithRetry(tmpPath, path) {
|
|
9
|
+
for (let attempt = 0;; attempt++) {
|
|
10
|
+
try {
|
|
11
|
+
await rename(tmpPath, path);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
const code = error.code;
|
|
16
|
+
const retryable = process.platform === 'win32' && (code === 'EPERM' || code === 'EACCES');
|
|
17
|
+
if (!retryable || attempt >= RENAME_RETRY_DELAYS_MS.length) {
|
|
18
|
+
throw error;
|
|
19
|
+
}
|
|
20
|
+
await delay(RENAME_RETRY_DELAYS_MS[attempt]);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export async function writeStoreFile(path, payload) {
|
|
25
|
+
const buf = encodeEnvelope(payload);
|
|
26
|
+
const tmpPath = `${path}.tmp-${process.pid}`;
|
|
27
|
+
try {
|
|
28
|
+
const handle = await open(tmpPath, 'w');
|
|
29
|
+
try {
|
|
30
|
+
await handle.writeFile(buf);
|
|
31
|
+
await handle.sync();
|
|
32
|
+
}
|
|
33
|
+
finally {
|
|
34
|
+
await handle.close();
|
|
35
|
+
}
|
|
36
|
+
await renameWithRetry(tmpPath, path);
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
await unlink(tmpPath).catch(() => { });
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export async function readStoreFile(path) {
|
|
44
|
+
let buf;
|
|
45
|
+
try {
|
|
46
|
+
buf = await readFile(path);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
if (error.code === 'ENOENT') {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
throw error;
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
const payload = decodeEnvelope(buf);
|
|
56
|
+
return payload;
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
if (!(error instanceof StoreCorruptError)) {
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// A corrupt store must never silently become an empty one — that would
|
|
64
|
+
// wipe the plugin's persisted state. Recover from the backup generation or
|
|
65
|
+
// fail the open loudly.
|
|
66
|
+
const bakPath = `${path}.bak`;
|
|
67
|
+
let bakBuf;
|
|
68
|
+
try {
|
|
69
|
+
bakBuf = await readFile(bakPath);
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
bakBuf = undefined;
|
|
73
|
+
}
|
|
74
|
+
if (bakBuf) {
|
|
75
|
+
const payload = decodeEnvelope(bakBuf);
|
|
76
|
+
await writeStoreFile(path, payload);
|
|
77
|
+
return payload;
|
|
78
|
+
}
|
|
79
|
+
throw new StoreCorruptError(`${path} unreadable and no usable backup`);
|
|
80
|
+
}
|
|
81
|
+
export async function backupStoreFile(path, log) {
|
|
82
|
+
// Copy to a temp sibling first — a crash mid-copy must never leave a
|
|
83
|
+
// truncated .bak, it may be the only recovery generation.
|
|
84
|
+
const tmpPath = `${path}.bak.tmp-${process.pid}`;
|
|
85
|
+
try {
|
|
86
|
+
await copyFile(path, tmpPath);
|
|
87
|
+
await renameWithRetry(tmpPath, `${path}.bak`);
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
await unlink(tmpPath).catch(() => { });
|
|
91
|
+
if (error.code !== 'ENOENT') {
|
|
92
|
+
log?.warn(`store: backup for ${path} failed: ${error instanceof Error ? error.message : error}`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export async function removeOrphanedTmpFiles(path) {
|
|
97
|
+
const dir = dirname(path);
|
|
98
|
+
const prefix = basename(path);
|
|
99
|
+
let names;
|
|
100
|
+
try {
|
|
101
|
+
names = await readdir(dir);
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
for (const name of names) {
|
|
107
|
+
if (name.startsWith(prefix) && name.includes('.tmp-')) {
|
|
108
|
+
await unlink(join(dir, name)).catch(() => { });
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=storeFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storeFile.js","sourceRoot":"","sources":["../../../../../src/plugins/store/storeFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function validateStoreValue(key: string, value: unknown): void;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Values must round-trip identically through all three runtimes' msgpack
|
|
2
|
+
// codecs — anything outside the shared domain is refused up front.
|
|
3
|
+
// Depth cap: rejects circular references (and absurd nesting) with a clear
|
|
4
|
+
// error instead of a stack overflow.
|
|
5
|
+
const MAX_DEPTH = 64;
|
|
6
|
+
export function validateStoreValue(key, value) {
|
|
7
|
+
walk(value, key, 0);
|
|
8
|
+
}
|
|
9
|
+
function walk(value, path, depth) {
|
|
10
|
+
if (depth > MAX_DEPTH) {
|
|
11
|
+
throw new Error(`store: value at '${path}' exceeds ${MAX_DEPTH} nesting levels — circular reference?`);
|
|
12
|
+
}
|
|
13
|
+
if (value === null || value === undefined) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
switch (typeof value) {
|
|
17
|
+
case 'number':
|
|
18
|
+
if (Number.isNaN(value) || !Number.isFinite(value)) {
|
|
19
|
+
throw new Error(`store: value at '${path}' is ${value} — NaN/Infinity are not storable`);
|
|
20
|
+
}
|
|
21
|
+
if (Number.isInteger(value) && !Number.isSafeInteger(value)) {
|
|
22
|
+
throw new Error(`store: value at '${path}' exceeds the float64-safe integer range (±2^53)`);
|
|
23
|
+
}
|
|
24
|
+
return;
|
|
25
|
+
case 'string':
|
|
26
|
+
case 'boolean':
|
|
27
|
+
return;
|
|
28
|
+
case 'bigint':
|
|
29
|
+
throw new Error(`store: value at '${path}' is a BigInt — numbers are float64 by contract`);
|
|
30
|
+
case 'function':
|
|
31
|
+
throw new Error(`store: value at '${path}' is a function`);
|
|
32
|
+
}
|
|
33
|
+
if (ArrayBuffer.isView(value) || value instanceof ArrayBuffer) {
|
|
34
|
+
throw new Error(`store: value at '${path}' is binary — large artifacts belong in files under the plugin storage dir`);
|
|
35
|
+
}
|
|
36
|
+
if (Array.isArray(value)) {
|
|
37
|
+
for (let i = 0; i < value.length; i++) {
|
|
38
|
+
walk(value[i], `${path}[${i}]`, depth + 1);
|
|
39
|
+
}
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (Object.getPrototypeOf(value) !== Object.prototype && Object.getPrototypeOf(value) !== null) {
|
|
43
|
+
throw new Error(`store: value at '${path}' is a ${value.constructor?.name ?? 'non-plain'} instance — only plain objects are storable`);
|
|
44
|
+
}
|
|
45
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
46
|
+
walk(entry, `${path}.${key}`, depth + 1);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=validate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../../src/plugins/store/validate.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,mEAAmE;AACnE,2EAA2E;AAC3E,qCAAqC;AACrC,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,KAAc;IAC5D,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,IAAI,CAAC,KAAc,EAAE,IAAY,EAAE,KAAa;IACvD,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,aAAa,SAAS,uCAAuC,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,QAAQ,OAAO,KAAK,EAAE,CAAC;QACrB,KAAK,QAAQ;YACX,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,QAAQ,KAAK,kCAAkC,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,kDAAkD,CAAC,CAAC;YAC9F,CAAC;YACD,OAAO;QACT,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO;QACT,KAAK,QAAQ;YACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,iDAAiD,CAAC,CAAC;QAC7F,KAAK,UAAU;YACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,4EAA4E,CAAC,CAAC;IACxH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/F,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,UAAU,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,WAAW,6CAA6C,CAAC,CAAC;IACzI,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { sleep } from '@camera.ui/common/utils';
|
|
2
|
+
import { join } from 'node:path';
|
|
2
3
|
import { container } from 'tsyringe';
|
|
3
4
|
import { CamerasService } from '../api/services/cameras.service.js';
|
|
4
5
|
import { PLUGIN_COMMAND, PLUGIN_STATUS } from '../plugins/types.js';
|
|
@@ -7,6 +8,8 @@ import { isShuttingDown } from '../shutdown-state.js';
|
|
|
7
8
|
import { describePlatformRequirement } from '../utils/platform.js';
|
|
8
9
|
import { PluginConfigStore } from './config-store.js';
|
|
9
10
|
import { RuntimeFactory } from './runtime/index.js';
|
|
11
|
+
import { migrateLmdbToStoreFile } from './store/migrate.js';
|
|
12
|
+
import { STORE_FILE_NAME } from './store/pluginStoreFile.js';
|
|
10
13
|
const REMOTE_START_TIMEOUT_MS = 5 * 60_000;
|
|
11
14
|
export class PluginWorker {
|
|
12
15
|
plugin;
|
|
@@ -118,7 +121,8 @@ export class PluginWorker {
|
|
|
118
121
|
return;
|
|
119
122
|
}
|
|
120
123
|
if (this.plugin.isGo) {
|
|
121
|
-
|
|
124
|
+
const volumeDir = join(this.plugin.storagePath, 'volume');
|
|
125
|
+
await migrateLmdbToStoreFile(volumeDir, join(volumeDir, STORE_FILE_NAME));
|
|
122
126
|
}
|
|
123
127
|
this.runtime.once('exit', () => {
|
|
124
128
|
reject(new Error(`Plugin ${this.plugin.displayName} exited before it was ready`));
|
|
@@ -161,12 +165,10 @@ export class PluginWorker {
|
|
|
161
165
|
// Fresh channel so a late READY from the (now abandoned) remote child
|
|
162
166
|
// lands on the old, closed channel and can never trigger a second START.
|
|
163
167
|
await this.openChannel(resolve, reject);
|
|
164
|
-
//
|
|
165
|
-
//
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
this.configStore = undefined;
|
|
169
|
-
}
|
|
168
|
+
// Local plugins own their store file themselves — release the store
|
|
169
|
+
// opened for the remote attempt so the child can take ownership.
|
|
170
|
+
await this.configStore?.close();
|
|
171
|
+
this.configStore = undefined;
|
|
170
172
|
if (!this.plugin.info.compatible) {
|
|
171
173
|
this.setStatus(PLUGIN_STATUS.INCOMPATIBLE);
|
|
172
174
|
await this.channel?.close();
|
|
@@ -212,7 +214,6 @@ export class PluginWorker {
|
|
|
212
214
|
else {
|
|
213
215
|
await this.kill();
|
|
214
216
|
}
|
|
215
|
-
// Local Go plugins host a config store too — release the LMDB handle.
|
|
216
217
|
await this.configStore?.close();
|
|
217
218
|
this.configStore = undefined;
|
|
218
219
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/plugins/worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/plugins/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -207,7 +207,7 @@ export class CloudflareManagedService {
|
|
|
207
207
|
await writeFile(this.configPath(tunnelId), yaml, { mode: 0o600 });
|
|
208
208
|
const args = ['tunnel', '--no-autoupdate', '--config', this.configPath(tunnelId), 'run', tunnelId];
|
|
209
209
|
const env = { ...process.env, TUNNEL_ORIGIN_CERT: this.certPath() };
|
|
210
|
-
this.runProcess = spawn(this.cloudflaredBinaryPath(), args, { stdio: ['ignore', 'pipe', 'pipe'], env });
|
|
210
|
+
this.runProcess = spawn(this.cloudflaredBinaryPath(), args, { stdio: ['ignore', 'pipe', 'pipe'], env, windowsHide: true });
|
|
211
211
|
const pid = this.runProcess.pid;
|
|
212
212
|
if (pid) {
|
|
213
213
|
this.configService.addProcess({ pid, startTime: Date.now(), command: this.cloudflaredBinaryPath(), args });
|
|
@@ -228,7 +228,7 @@ export class CloudflareManagedService {
|
|
|
228
228
|
async runStep(args, timeoutMs, onLine) {
|
|
229
229
|
return new Promise((resolve, reject) => {
|
|
230
230
|
const env = { ...process.env, TUNNEL_ORIGIN_CERT: this.certPath() };
|
|
231
|
-
const proc = spawn(this.cloudflaredBinaryPath(), args, { stdio: ['ignore', 'pipe', 'pipe'], env });
|
|
231
|
+
const proc = spawn(this.cloudflaredBinaryPath(), args, { stdio: ['ignore', 'pipe', 'pipe'], env, windowsHide: true });
|
|
232
232
|
this.stepProcess = proc;
|
|
233
233
|
let output = '';
|
|
234
234
|
const handleData = (chunk) => {
|