@camera.ui/server 0.0.12-alpha.2 → 0.0.12-alpha.4

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.
Files changed (78) hide show
  1. package/dist/interface/assets/@mdi-CmcijEFB.js +1 -0
  2. package/dist/interface/assets/{Account-J8XDeuej.js → Account-CWvLwuSI.js} +1 -1
  3. package/dist/interface/assets/{Adminpanel-ByYWJ4zG.js → Adminpanel-D1acAd4f.js} +1 -1
  4. package/dist/interface/assets/{Appearance-DmUOEvJN.js → Appearance-Bt86BtvT.js} +1 -1
  5. package/dist/interface/assets/{Backup-3SwIBdjp.js → Backup-BoCWS3SS.js} +1 -1
  6. package/dist/interface/assets/{Camera-BpYqQh2o.js → Camera-DGGyL9at.js} +1 -1
  7. package/dist/interface/assets/{Cameras-BEdfIDDg.js → Cameras-BT6tKbp5.js} +1 -1
  8. package/dist/interface/assets/{Camview-BANRuW4p.js → Camview-BIiqI_Yj.js} +1 -1
  9. package/dist/interface/assets/{Config-DAiKsG7W.css → Config-CfhTfiRn.css} +1 -1
  10. package/dist/interface/assets/Config-EHUrVnjH.js +1 -0
  11. package/dist/interface/assets/Console-CJPb2CoP.css +1 -0
  12. package/dist/interface/assets/Console-D7qigIrb.js +4 -0
  13. package/dist/interface/assets/{FirstSteps-CyxYpRVg.js → FirstSteps-BdNf60c3.js} +1 -1
  14. package/dist/interface/assets/{NewCamera-C6lmMbpW.js → NewCamera-DrIOe7GH.js} +1 -1
  15. package/dist/interface/assets/{Plugin-mKM3zBSm.js → Plugin-CZN7KLfw.js} +1 -1
  16. package/dist/interface/assets/{Plugins-B8gCgxOx.css → Plugins-DJCy47sz.css} +1 -1
  17. package/dist/interface/assets/Plugins-DePXhcTc.js +1 -0
  18. package/dist/interface/assets/{Recordings-Cbq5yO-V.js → Recordings-BsNa4nl1.js} +1 -1
  19. package/dist/interface/assets/{Recordings-J3fVl1Nf.js → Recordings-CBmeBTjC.js} +1 -1
  20. package/dist/interface/assets/{Settings-DbkqvnBI.js → Settings-HBKa6UiL.js} +1 -1
  21. package/dist/interface/assets/System-BeXkfJHe.js +4 -0
  22. package/dist/interface/assets/{User-qJyXwoHp.js → User-CA1u4oTs.js} +1 -1
  23. package/dist/interface/assets/{VConfigEditor.vue_vue_type_script_setup_true_lang-C2wWpZqH.js → VConfigEditor.vue_vue_type_script_setup_true_lang-DzQETeRW.js} +1 -1
  24. package/dist/interface/assets/{VConsole-CKf3T4gS.js → VConsole-B1XFaB1X.js} +1 -1
  25. package/dist/interface/assets/{VPlayer-DJjwfULk.css → VPlayer-B1HHlrNE.css} +1 -1
  26. package/dist/interface/assets/VPlayer-DpgP5_CU.js +1 -0
  27. package/dist/interface/assets/VPluginCard-D_XHVDOF.css +1 -0
  28. package/dist/interface/assets/VPluginCard-DxspPu-g.js +4 -0
  29. package/dist/interface/assets/{main-DAdsd7ig.css → main-Uk5-SrnC.css} +1 -1
  30. package/dist/interface/assets/main-g2kR7sEX.js +9 -0
  31. package/dist/interface/assets/plugins-S3SjQeRW.js +1 -0
  32. package/dist/interface/assets/{system-BN-plpJC.js → system-l2HUoPBI.js} +1 -1
  33. package/dist/interface/index.html +3 -3
  34. package/dist/interface/sw.js +1 -1
  35. package/dist/server/bin/cameraui.d.ts +6 -2
  36. package/dist/server/bin/cameraui.js +55 -12
  37. package/dist/server/bin/cameraui.js.map +1 -1
  38. package/dist/server/bin/installer/darwin.d.ts +8 -0
  39. package/dist/server/bin/installer/darwin.js +56 -5
  40. package/dist/server/bin/installer/darwin.js.map +1 -1
  41. package/dist/server/bin/installer/freebsd.js +11 -3
  42. package/dist/server/bin/installer/freebsd.js.map +1 -1
  43. package/dist/server/bin/installer/linux.d.ts +5 -0
  44. package/dist/server/bin/installer/linux.js +63 -8
  45. package/dist/server/bin/installer/linux.js.map +1 -1
  46. package/dist/server/bin/installer/win32.js +13 -5
  47. package/dist/server/bin/installer/win32.js.map +1 -1
  48. package/dist/server/package.json +137 -137
  49. package/dist/server/requirements.txt +1 -1
  50. package/dist/server/src/api/controllers/plugins.controller.js +2 -5
  51. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  52. package/dist/server/src/api/schemas/config.schema.js +0 -3
  53. package/dist/server/src/api/schemas/config.schema.js.map +1 -1
  54. package/dist/server/src/api/types/index.d.ts +1 -1
  55. package/dist/server/src/main.js +3 -3
  56. package/dist/server/src/main.js.map +1 -1
  57. package/dist/server/src/plugins/plugin.js +2 -2
  58. package/dist/server/src/plugins/plugin.js.map +1 -1
  59. package/dist/server/src/polyglot/python/plugins/storage_controller.py +1 -1
  60. package/dist/server/src/services/config/constants.js +4 -1
  61. package/dist/server/src/services/config/constants.js.map +1 -1
  62. package/dist/server/src/services/config/index.d.ts +2 -2
  63. package/dist/server/src/services/config/index.js +11 -9
  64. package/dist/server/src/services/config/index.js.map +1 -1
  65. package/dist/server/src/utils/pythonInstaller.js +3 -1
  66. package/dist/server/src/utils/pythonInstaller.js.map +1 -1
  67. package/package.json +4 -4
  68. package/dist/interface/assets/@mdi-B8Roxr1z.js +0 -1
  69. package/dist/interface/assets/Config-BWydVKCs.js +0 -1
  70. package/dist/interface/assets/Console-BsyX2S3R.css +0 -1
  71. package/dist/interface/assets/Console-TPR0d-TO.js +0 -4
  72. package/dist/interface/assets/Plugins-C_EbpQcI.js +0 -1
  73. package/dist/interface/assets/System-Bj88A2C7.js +0 -4
  74. package/dist/interface/assets/VPlayer-DeUJBU1V.js +0 -1
  75. package/dist/interface/assets/VPluginCard-BoeWmehD.css +0 -1
  76. package/dist/interface/assets/VPluginCard-C9lEIVNw.js +0 -4
  77. package/dist/interface/assets/main-Dt6mWkg4.js +0 -9
  78. package/dist/interface/assets/plugins-B5ESYMZH.js +0 -1
@@ -0,0 +1 @@
1
+ var y=Object.defineProperty;var p=(t,n,e)=>n in t?y(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e;var g=(t,n,e)=>p(t,typeof n!="symbol"?n+"":n,e);import{i as l}from"./vue3-toastify-D8Ru9hkX.js";import{i as o,x as s}from"./main-g2kR7sEX.js";import{u as d,b as i,a as r}from"./@tanstack-BvYNCsQh.js";import{r as m,u}from"./@vue-DMh6qW6s.js";const h=async({pluginData:t})=>(await s.post("/plugins",t)).data,Q=async({pluginName:t,signal:n})=>(await s.get(`/plugins/${t}`,{signal:n})).data,P=async({pluginname:t,signal:n})=>(await s.get(`/plugins/${t}/versions`,{signal:n})).data,q=async({pluginName:t,signal:n})=>(await s.get(`/plugins/${t}/update`,{signal:n})).data,b=async({pluginName:t,signal:n})=>(await s.get(`/plugins/${t}/logo`,{signal:n})).data,F=async({pluginName:t,signal:n})=>(await s.get(`/plugins/${t}/schema`,{signal:n})).data,w=async({pluginName:t,signal:n})=>(await s.get(`/plugins/${t}/config`,{signal:n})).data,f=async({pluginName:t,signal:n})=>(await s.get(`/plugins/${t}/contract`,{signal:n})).data,v=async({pluginName:t,signal:n})=>(await s.get(`/plugins/${t}/readme`,{signal:n})).data,C=async({pluginName:t,signal:n})=>(await s.get(`/plugins/${t}/changelog`,{signal:n})).data,K=async({pluginName:t,signal:n})=>(await s.get(`/plugins/${t}/release`,{signal:n})).data,_=async({pluginName:t,parameter:n,signal:e})=>(await s.get(`/plugins/${t}/interface`,{params:n,signal:e})).data,$=async({parameter:t,signal:n})=>(await s.get("/plugins",{params:t,signal:n})).data,A=async({parameter:t,signal:n})=>(await s.get("/plugins/extensions",{params:t,signal:n})).data,S=async({query:t,parameter:n,signal:e})=>(await s.get("/plugins/search",{params:{...t,...n},signal:e})).data,L=async({pluginName:t})=>(await s.put(`/plugins/${t}/enable`)).data,x=async({pluginName:t,configData:n})=>(await s.patch(`/plugins/${t}/config`,n)).data,R=async({pluginName:t})=>(await s.put(`/plugins/${t}/disable`)).data,N=async({pluginName:t})=>(await s.put(`/plugins/${t}/start`)).data,I=async({pluginName:t})=>(await s.put(`/plugins/${t}/stop`)).data,J=async({pluginName:t})=>(await s.put(`/plugins/${t}/restart`)).data,E=async({pluginName:t,formData:n})=>(await s.post(`/plugins/${t}/detect/motion`,n,{responseType:"arraybuffer"})).data,U=async({pluginName:t,formData:n})=>(await s.post(`/plugins/${t}/detect/objects`,n)).data,V=async({pluginName:t,formData:n})=>(await s.post(`/plugins/${t}/detect/audio`,n)).data,j=async({pluginName:t,actionId:n,payload:e})=>(await s.post(`/plugins/${t}/submit`,{actionId:n,payload:e})).data,D=async({pluginName:t,removeStorage:n})=>(await s.delete(`/plugins/${t}`,{params:{removeStorage:n}})).data,M=async()=>(await s.delete("/plugins")).data;class G{constructor(){g(this,"_queryClient",d());g(this,"queryActivator",m([{name:"getPluginQuery",enabled:!0},{name:"getPluginsQuery",enabled:!0},{name:"getPluginsExtensionsQuery",enabled:!0},{name:"searchPluginsQuery",enabled:!0},{name:"getPluginVersionsQuery",enabled:!0},{name:"getPluginUpdateQuery",enabled:!0},{name:"getPluginLogoQuery",enabled:!0},{name:"getPluginSchemaQuery",enabled:!0},{name:"getPluginConfigJsonQuery",enabled:!0},{name:"getPluginContractQuery",enabled:!0},{name:"getPluginReadmeQuery",enabled:!0},{name:"getPluginReleaseQuery",enabled:!0},{name:"getPluginInterfaceQuery",enabled:!0},{name:"getPluginChangelogQuery",enabled:!0}]))}get queryClient(){return this._queryClient}installPluginQuery(){return i({mutationFn:h,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["pluginsList"]}),await this._queryClient.refetchQueries({queryKey:["plugins"]}),await this._queryClient.refetchQueries({queryKey:["pluginsSearch"]}),l.success(o.global.t("components.toast.plugin_installed"))}})}getPluginQuery(n){return r({queryKey:["plugins",n],queryFn:({signal:e})=>Q({pluginName:u(n),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="getPluginQuery"&&e.enabled)})}getPluginsQuery(n){return r({queryKey:["pluginsList",n],queryFn:({signal:e})=>$({parameter:u(n),signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name==="getPluginsQuery"&&e.enabled)})}getPluginsExtensionsQuery(n){return r({queryKey:["extensionsList",n],queryFn:({signal:e})=>A({parameter:u(n),signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name==="getPluginsExtensionsQuery"&&e.enabled)})}searchPluginsQuery(n,e){return r({queryKey:["pluginsSearch",n,e],queryFn:({signal:a})=>S({query:u(n),parameter:u(e),signal:a}),placeholderData:a=>a,enabled:()=>this.queryActivator.value.some(a=>a.name==="searchPluginsQuery"&&a.enabled)})}getPluginVersionsQuery(n){return r({queryKey:["plugins",n,"versions"],queryFn:({signal:e})=>P({pluginname:u(n),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="getPluginVersionsQuery"&&e.enabled)})}getPluginUpdateQuery(n){return r({queryKey:["plugins",n,"update"],queryFn:({signal:e})=>q({pluginName:u(n),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="getPluginUpdateQuery"&&e.enabled)})}getPluginLogoQuery(n){return r({queryKey:["plugins",n,"logo"],queryFn:({signal:e})=>b({pluginName:u(n),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="getPluginLogoQuery"&&e.enabled)})}getPluginSchemaQuery(n){return r({queryKey:["plugins",n,"schema"],queryFn:({signal:e})=>F({pluginName:u(n),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="getPluginSchemaQuery"&&e.enabled)})}getPluginConfigJsonQuery(n){return r({queryKey:["plugins",n,"config"],queryFn:({signal:e})=>w({pluginName:u(n),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="getPluginConfigJsonQuery"&&e.enabled)})}getPluginContractQuery(n){return r({queryKey:["plugins",n,"contract"],queryFn:({signal:e})=>f({pluginName:u(n),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="getPluginContractQuery"&&e.enabled)})}getPluginReadmeQuery(n){return r({queryKey:["plugins",n,"readme"],queryFn:({signal:e})=>v({pluginName:u(n),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="getPluginReadmeQuery"&&e.enabled)})}getPluginReleaseQuery(n){return r({queryKey:["plugins",n,"release"],queryFn:({signal:e})=>K({pluginName:u(n),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="getPluginReleaseQuery"&&e.enabled)})}getPluginInterfaceQuery(n,e){return r({queryKey:["plugins",n,"interface",e],queryFn:({signal:a})=>_({pluginName:u(n),parameter:e,signal:a}),enabled:()=>this.queryActivator.value.some(a=>a.name==="getPluginInterfaceQuery"&&a.enabled)})}getPluginChangelogQuery(n){return r({queryKey:["plugins",n,"changelog"],queryFn:({signal:e})=>C({pluginName:u(n),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="getPluginChangelogQuery"&&e.enabled)})}patchPluginConfigQuery(){return i({mutationFn:x,onSuccess:async(n,e)=>{await this._queryClient.refetchQueries({queryKey:["plugins",e.pluginName]}),l.success(o.global.t("components.toast.plugin_config_updated"))}})}startPluginQuery(){return i({mutationFn:N,onSuccess:async(n,e)=>{await this._queryClient.refetchQueries({queryKey:["plugins",e.pluginName]}),l.success(o.global.t("components.toast.plugin_started"))}})}stopPluginQuery(){return i({mutationFn:I,onSuccess:async(n,e)=>{await this._queryClient.refetchQueries({queryKey:["plugins",e.pluginName]}),l.success(o.global.t("components.toast.plugin_stopped"))}})}restartPluginQuery(){return i({mutationFn:J,onSuccess:async(n,e)=>{await this._queryClient.refetchQueries({queryKey:["plugins",e.pluginName]}),l.success(o.global.t("components.toast.plugin_restarted"))}})}detectMotionQuery(){return i({mutationFn:E})}detectObjectsQuery(){return i({mutationFn:U})}detectAudioQuery(){return i({mutationFn:V})}actionButtonQuery(){return i({mutationFn:j,onSuccess:async(n,e)=>{await this._queryClient.refetchQueries({queryKey:["plugins",e.pluginName]}),l.success(o.global.t("components.toast.plugin_request_sent"))}})}enablePluginQuery(){return i({mutationFn:L,onSuccess:async(n,e)=>{await this._queryClient.refetchQueries({queryKey:["pluginsList"]}),await this._queryClient.refetchQueries({queryKey:["plugins",e.pluginName]}),l.success(o.global.t("components.toast.plugin_enabled"))}})}disablePluginQuery(){return i({mutationFn:R,onSuccess:async(n,e)=>{await this._queryClient.refetchQueries({queryKey:["pluginsList"]}),await this._queryClient.refetchQueries({queryKey:["plugins",e.pluginName]}),l.success(o.global.t("components.toast.plugin_disabled"))}})}uninstallPluginQuery(){return i({mutationFn:D,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["pluginsList"]}),await this._queryClient.refetchQueries({queryKey:["plugins"]}),await this._queryClient.refetchQueries({queryKey:["pluginsSearch"]}),l.success(o.global.t("components.toast.plugin_removed"))}})}uninstallPluginsQuery(){return i({mutationFn:M,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["pluginsList"]}),await this._queryClient.refetchQueries({queryKey:["plugins"]}),await this._queryClient.refetchQueries({queryKey:["pluginsSearch"]}),l.success(o.global.t("components.toast.plugins_removed"))}})}toggleQueryActivator(n,e){const a=this.queryActivator.value.find(c=>c.name===n);a&&(a.enabled=e)}}export{G as P};
@@ -1 +1 @@
1
- var m=Object.defineProperty;var l=(t,e,s)=>e in t?m(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var u=(t,e,s)=>l(t,typeof e!="symbol"?e+"":e,s);import{i as r}from"./vue3-toastify-D8Ru9hkX.js";import{x as n,i as a}from"./main-Dt6mWkg4.js";import{u as d,b as o,a as y}from"./@tanstack-BvYNCsQh.js";import{r as p,u as g}from"./@vue-DMh6qW6s.js";const Q=async({pluginData:t})=>(await n.post("/system/update",t)).data,b=async({signal:t})=>(await n.get("/system/version",{signal:t})).data,q=async()=>(await n.delete("/system/log")).data,v=async({filter:t,signal:e})=>{const s=t!=null&&t.length?{filter:t.join(",")}:void 0;return(await n.get("/system/log/download",{params:s,signal:e})).data},w=async({signal:t})=>(await n.get("/system/go2rtc",{signal:t})).data,h=async()=>(await n.put("/system/restart")).data,F=async()=>(await n.put("/system/restart/go2rtc")).data;class C{constructor(){u(this,"_queryClient",d());u(this,"queryActivator",p([{name:"downloadLogQuery",enabled:!0},{name:"getGo2RtcInfoQuery",enabled:!0},{name:"checkVersionQuery",enabled:!0}]))}get queryClient(){return this._queryClient}updateSystemQuery(){return o({mutationFn:Q,onSuccess:async()=>{r.success(a.global.t("components.toast.system_updated"))}})}downloadLogQuery(e){return y({queryKey:["log",e],queryFn:({signal:s})=>v({filter:g(e),signal:s}),enabled:()=>this.queryActivator.value.some(s=>s.name==="downloadLogQuery"&&s.enabled)})}clearLogQuery(){return o({mutationFn:q,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["log"],exact:!0}),r.success(a.global.t("components.toast.log_cleared"))}})}checkVersionQuery(){return y({queryKey:["version"],queryFn:({signal:e})=>b({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="checkVersionQuery"&&e.enabled)})}getGo2RtcInfoQuery(){return y({queryKey:["go2rtc"],queryFn:({signal:e})=>w({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="getGo2RtcInfoQuery"&&e.enabled)})}restartGo2Rtc(){return o({mutationFn:F,onSuccess:async()=>{r.success(a.global.t("components.toast.go2rtc_restarted"))}})}restartSystem(){return o({mutationFn:h,onSuccess:async()=>{r.success(a.global.t("components.toast.system_restarted"))}})}toggleQueryActivator(e,s){const c=this.queryActivator.value.find(i=>i.name===e);c&&(c.enabled=s)}}export{C as S,h as r};
1
+ var m=Object.defineProperty;var l=(t,e,s)=>e in t?m(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var u=(t,e,s)=>l(t,typeof e!="symbol"?e+"":e,s);import{i as r}from"./vue3-toastify-D8Ru9hkX.js";import{x as n,i as a}from"./main-g2kR7sEX.js";import{u as d,b as o,a as y}from"./@tanstack-BvYNCsQh.js";import{r as p,u as g}from"./@vue-DMh6qW6s.js";const Q=async({pluginData:t})=>(await n.post("/system/update",t)).data,b=async({signal:t})=>(await n.get("/system/version",{signal:t})).data,q=async()=>(await n.delete("/system/log")).data,v=async({filter:t,signal:e})=>{const s=t!=null&&t.length?{filter:t.join(",")}:void 0;return(await n.get("/system/log/download",{params:s,signal:e})).data},w=async({signal:t})=>(await n.get("/system/go2rtc",{signal:t})).data,h=async()=>(await n.put("/system/restart")).data,F=async()=>(await n.put("/system/restart/go2rtc")).data;class C{constructor(){u(this,"_queryClient",d());u(this,"queryActivator",p([{name:"downloadLogQuery",enabled:!0},{name:"getGo2RtcInfoQuery",enabled:!0},{name:"checkVersionQuery",enabled:!0}]))}get queryClient(){return this._queryClient}updateSystemQuery(){return o({mutationFn:Q,onSuccess:async()=>{r.success(a.global.t("components.toast.system_updated"))}})}downloadLogQuery(e){return y({queryKey:["log",e],queryFn:({signal:s})=>v({filter:g(e),signal:s}),enabled:()=>this.queryActivator.value.some(s=>s.name==="downloadLogQuery"&&s.enabled)})}clearLogQuery(){return o({mutationFn:q,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:["log"],exact:!0}),r.success(a.global.t("components.toast.log_cleared"))}})}checkVersionQuery(){return y({queryKey:["version"],queryFn:({signal:e})=>b({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="checkVersionQuery"&&e.enabled)})}getGo2RtcInfoQuery(){return y({queryKey:["go2rtc"],queryFn:({signal:e})=>w({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name==="getGo2RtcInfoQuery"&&e.enabled)})}restartGo2Rtc(){return o({mutationFn:F,onSuccess:async()=>{r.success(a.global.t("components.toast.go2rtc_restarted"))}})}restartSystem(){return o({mutationFn:h,onSuccess:async()=>{r.success(a.global.t("components.toast.system_restarted"))}})}toggleQueryActivator(e,s){const c=this.queryActivator.value.find(i=>i.name===e);c&&(c.enabled=s)}}export{C as S,h as r};
@@ -336,7 +336,7 @@
336
336
  media="screen and (prefers-color-scheme: dark) and (device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)"
337
337
  href="/pwa/apple-splash-portrait-dark-640x1136.png"
338
338
  />
339
- <script type="module" crossorigin src="/assets/main-Dt6mWkg4.js"></script>
339
+ <script type="module" crossorigin src="/assets/main-g2kR7sEX.js"></script>
340
340
  <link rel="modulepreload" crossorigin href="/assets/@vue-DMh6qW6s.js">
341
341
  <link rel="modulepreload" crossorigin href="/assets/vue-inline-svg-D1BV6A5r.js">
342
342
  <link rel="modulepreload" crossorigin href="/assets/vue3-toastify-D8Ru9hkX.js">
@@ -350,7 +350,7 @@
350
350
  <link rel="modulepreload" crossorigin href="/assets/nprogress-DSyAi0LF.js">
351
351
  <link rel="modulepreload" crossorigin href="/assets/@vueuse-D76s02Ot.js">
352
352
  <link rel="modulepreload" crossorigin href="/assets/vuetify-DYU2dOLI.js">
353
- <link rel="modulepreload" crossorigin href="/assets/@mdi-B8Roxr1z.js">
353
+ <link rel="modulepreload" crossorigin href="/assets/@mdi-CmcijEFB.js">
354
354
  <link rel="modulepreload" crossorigin href="/assets/vee-validate-9vrYaQFq.js">
355
355
  <link rel="modulepreload" crossorigin href="/assets/zod-BaF2dDCd.js">
356
356
  <link rel="modulepreload" crossorigin href="/assets/@vee-validate-BY5H7fGS.js">
@@ -368,7 +368,7 @@
368
368
  <link rel="stylesheet" crossorigin href="/assets/@xterm-CGrrDQr5.css">
369
369
  <link rel="stylesheet" crossorigin href="/assets/vuetify-CoMF_JkX.css">
370
370
  <link rel="stylesheet" crossorigin href="/assets/v-calendar-CtSuDYZU.css">
371
- <link rel="stylesheet" crossorigin href="/assets/main-DAdsd7ig.css">
371
+ <link rel="stylesheet" crossorigin href="/assets/main-Uk5-SrnC.css">
372
372
  <link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script></head>
373
373
  <body>
374
374
  <div id="app" class="app"></div>
@@ -1 +1 @@
1
- if(!self.define){let s,e={};const a=(a,l)=>(a=new URL(a+".js",l).href,e[a]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=a,s.onload=e,document.head.appendChild(s)}else s=a,importScripts(a),e()})).then((()=>{let s=e[a];if(!s)throw new Error(`Module ${a} didn’t register its module`);return s})));self.define=(l,i)=>{const r=s||("document"in self?document.currentScript.src:"")||location.href;if(e[r])return;let n={};const p=s=>a(s,r),u={module:{uri:r},exports:n,require:p};e[r]=Promise.all(l.map((s=>u[s]||p(s)))).then((s=>(i(...s),n)))}}define(["./workbox-3e911b1d"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/@babel-l0sNRNKZ.js",revision:null},{url:"assets/@intlify-Ck2ZoCVz.js",revision:null},{url:"assets/@mdi-B8Roxr1z.js",revision:null},{url:"assets/@popperjs-BQBsAJpH.js",revision:null},{url:"assets/@react-dnd-CcwRs9xb.js",revision:null},{url:"assets/@socket.io-Dkula2eQ.js",revision:null},{url:"assets/@tanstack-BvYNCsQh.js",revision:null},{url:"assets/@vee-validate-BY5H7fGS.js",revision:null},{url:"assets/@vue-DMh6qW6s.js",revision:null},{url:"assets/@vueform-B62o9zLe.js",revision:null},{url:"assets/@vueform-h7tNX9p6.css",revision:null},{url:"assets/@vueuse-D76s02Ot.js",revision:null},{url:"assets/@xterm-B4Ga69iL.js",revision:null},{url:"assets/@xterm-CGrrDQr5.css",revision:null},{url:"assets/Account-DlOUWknb.css",revision:null},{url:"assets/Account-J8XDeuej.js",revision:null},{url:"assets/ace-builds-CigWTak4.js",revision:null},{url:"assets/Adminpanel-ByYWJ4zG.js",revision:null},{url:"assets/Adminpanel-Cp92VRfz.css",revision:null},{url:"assets/Appearance-DmUOEvJN.js",revision:null},{url:"assets/axios--Jv2L996.js",revision:null},{url:"assets/Backup-3SwIBdjp.js",revision:null},{url:"assets/Backup-DBv9xFPh.css",revision:null},{url:"assets/Camera-BpYqQh2o.js",revision:null},{url:"assets/Camera-CWiLco3W.css",revision:null},{url:"assets/Cameras-BEdfIDDg.js",revision:null},{url:"assets/Cameras-Du4Q1fbV.css",revision:null},{url:"assets/Camview-BANRuW4p.js",revision:null},{url:"assets/Camview-CWTrsoY0.css",revision:null},{url:"assets/compare-versions-DqEOhma6.js",revision:null},{url:"assets/Config-BWydVKCs.js",revision:null},{url:"assets/Config-DAiKsG7W.css",revision:null},{url:"assets/Console-BsyX2S3R.css",revision:null},{url:"assets/Console-TPR0d-TO.js",revision:null},{url:"assets/dijkstrajs-D_NXgYpA.js",revision:null},{url:"assets/dnd-core-SnWOpY0X.js",revision:null},{url:"assets/draggabilly-Arakw9Dk.js",revision:null},{url:"assets/engine.io-client-DBBxzneW.js",revision:null},{url:"assets/engine.io-parser-BiEtp6m2.js",revision:null},{url:"assets/entities-C20TfXL6.js",revision:null},{url:"assets/ev-emitter-CXYwG0eJ.js",revision:null},{url:"assets/fast-deep-equal-5pvsDbwX.js",revision:null},{url:"assets/FirstSteps-CyxYpRVg.js",revision:null},{url:"assets/FirstSteps-tMe0mt29.css",revision:null},{url:"assets/get-size-D1dS-IaP.js",revision:null},{url:"assets/highlight-DgoK_Xib.css",revision:null},{url:"assets/highlight.js-TxRCSjhv.js",revision:null},{url:"assets/linkify-it-DmNjr4Kv.js",revision:null},{url:"assets/logo-256-BCQk9H1-.png",revision:null},{url:"assets/logo-512-DLKVOU2S.png",revision:null},{url:"assets/logo-DmEiRk0z.png",revision:null},{url:"assets/main-DAdsd7ig.css",revision:null},{url:"assets/main-Dt6mWkg4.js",revision:null},{url:"assets/markdown-it-DI8MEbma.js",revision:null},{url:"assets/mdurl-k9Sl0PQj.js",revision:null},{url:"assets/mode-json-Br7xisR1.js",revision:null},{url:"assets/mode-yaml-CIYL8U3d.js",revision:null},{url:"assets/NewCamera-C6lmMbpW.js",revision:null},{url:"assets/NewCamera-CHMgUDbC.css",revision:null},{url:"assets/nprogress-DSyAi0LF.js",revision:null},{url:"assets/pinia-BQbsPkIS.js",revision:null},{url:"assets/Plugin-DzKKCoqQ.css",revision:null},{url:"assets/Plugin-mKM3zBSm.js",revision:null},{url:"assets/plugins-B5ESYMZH.js",revision:null},{url:"assets/Plugins-B8gCgxOx.css",revision:null},{url:"assets/Plugins-C_EbpQcI.js",revision:null},{url:"assets/punycode.js-Dj65hjkv.js",revision:null},{url:"assets/qrcode-SHonoxyK.js",revision:null},{url:"assets/react-dnd-html5-backend-1HQjlkwI.js",revision:null},{url:"assets/react-dnd-touch-backend-NgACaG8W.js",revision:null},{url:"assets/Recordings-Cbq5yO-V.js",revision:null},{url:"assets/Recordings-J3fVl1Nf.js",revision:null},{url:"assets/redux-CuxFRhX_.js",revision:null},{url:"assets/rxjs-CQrF441D.js",revision:null},{url:"assets/Settings-DbkqvnBI.js",revision:null},{url:"assets/Settings-JES2wb8p.css",revision:null},{url:"assets/socket.io-client-Bq_SHkin.js",revision:null},{url:"assets/socket.io-parser-BBkuslX-.js",revision:null},{url:"assets/System-Bj88A2C7.js",revision:null},{url:"assets/system-BN-plpJC.js",revision:null},{url:"assets/System-sfhoKWOV.css",revision:null},{url:"assets/tslib-9k7AwCpt.js",revision:null},{url:"assets/uc.micro-kMc2yuuw.js",revision:null},{url:"assets/ui-CyEgSsGE.js",revision:null},{url:"assets/unidragger-BYtqgAQ0.js",revision:null},{url:"assets/User-DBVny1Dv.css",revision:null},{url:"assets/User-qJyXwoHp.js",revision:null},{url:"assets/utils-BvINh1mj.js",revision:null},{url:"assets/uuid-DvF23Exx.js",revision:null},{url:"assets/v-calendar-CtSuDYZU.css",revision:null},{url:"assets/v-calendar-CVkp7hgG.js",revision:null},{url:"assets/VConfigEditor.vue_vue_type_script_setup_true_lang-C2wWpZqH.js",revision:null},{url:"assets/VConsole-CKf3T4gS.js",revision:null},{url:"assets/VConsole-MV9pQtJj.css",revision:null},{url:"assets/vee-validate-9vrYaQFq.js",revision:null},{url:"assets/VPlayer-DeUJBU1V.js",revision:null},{url:"assets/VPlayer-DJjwfULk.css",revision:null},{url:"assets/VPluginCard-BoeWmehD.css",revision:null},{url:"assets/VPluginCard-C9lEIVNw.js",revision:null},{url:"assets/vue-i18n-DqKZtX1N.js",revision:null},{url:"assets/vue-inline-svg-D1BV6A5r.js",revision:null},{url:"assets/vue-l0sNRNKZ.js",revision:null},{url:"assets/vue-router-Bje-Muh5.js",revision:null},{url:"assets/vue3-apexcharts-B8Nznyy3.js",revision:null},{url:"assets/vue3-dnd-CvPSCHQb.js",revision:null},{url:"assets/vue3-toastify-D8Ru9hkX.js",revision:null},{url:"assets/vue3-toastify-DTY1DMRs.css",revision:null},{url:"assets/vuetify-CoMF_JkX.css",revision:null},{url:"assets/vuetify-DYU2dOLI.js",revision:null},{url:"assets/zod-BaF2dDCd.js",revision:null},{url:"fonts/Inter/Inter-Regular.ttf",revision:"ea5879884a95551632e9eb1bba5b2128"},{url:"index.html",revision:"a404f48e115a08db8c4befbfabd5df2c"},{url:"pwa/apple-splash-landscape-dark-1136x640.png",revision:"c6b193de9bd234c81fdea1d28fe7b88c"},{url:"pwa/apple-splash-landscape-dark-1334x750.png",revision:"d82dd37eb2bdf815c1e2ab367134cbbf"},{url:"pwa/apple-splash-landscape-dark-1792x828.png",revision:"281d292ea4448638bb250a3fca5f5f44"},{url:"pwa/apple-splash-landscape-dark-2048x1536.png",revision:"70f0181b7e075e3b64e261c4d4e3eada"},{url:"pwa/apple-splash-landscape-dark-2160x1620.png",revision:"ee54046f738fe4346d7febbfaa711244"},{url:"pwa/apple-splash-landscape-dark-2208x1242.png",revision:"2989b9f038112f8eed3694fa53b86e6a"},{url:"pwa/apple-splash-landscape-dark-2224x1668.png",revision:"1144751415d9c1f3d1bc34407b9a9539"},{url:"pwa/apple-splash-landscape-dark-2388x1668.png",revision:"e17cbe3b198574eb6fc822c17e22d935"},{url:"pwa/apple-splash-landscape-dark-2436x1125.png",revision:"85613cc4f5040791ef13e4b2a1ecc840"},{url:"pwa/apple-splash-landscape-dark-2532x1170.png",revision:"b89d280148f1bcb816c6364c37daefb6"},{url:"pwa/apple-splash-landscape-dark-2556x1179.png",revision:"02e2914d36b2aaf6da02799414a23738"},{url:"pwa/apple-splash-landscape-dark-2688x1242.png",revision:"dcd13ed9567fa4d98867f5c97cc89695"},{url:"pwa/apple-splash-landscape-dark-2732x2048.png",revision:"dc9fbb966dfc3350466279749c2946d7"},{url:"pwa/apple-splash-landscape-dark-2778x1284.png",revision:"19d1e7a02d9edd3354c61b7c54ea9c1e"},{url:"pwa/apple-splash-landscape-dark-2796x1290.png",revision:"22b9597a28c081730e3430e467b4e36d"},{url:"pwa/apple-splash-landscape-light-1136x640.png",revision:"c9b4c38f0a267051c0c83cc92c0f5767"},{url:"pwa/apple-splash-landscape-light-1334x750.png",revision:"f513cdc13ffaf0c2a82bb207e2a9a397"},{url:"pwa/apple-splash-landscape-light-1792x828.png",revision:"c6e29d789061fc48eb9f3a54cb1950be"},{url:"pwa/apple-splash-landscape-light-2048x1536.png",revision:"1b27b72b070b260eceeaab092a82663d"},{url:"pwa/apple-splash-landscape-light-2160x1620.png",revision:"31ac689a78386cf844e33f10fd5d2029"},{url:"pwa/apple-splash-landscape-light-2208x1242.png",revision:"653857094b0c183908571fea1aed7b2f"},{url:"pwa/apple-splash-landscape-light-2224x1668.png",revision:"ecf0efece27d70815f7401f7f3e40a24"},{url:"pwa/apple-splash-landscape-light-2388x1668.png",revision:"3733608412963cb747e32b2790013523"},{url:"pwa/apple-splash-landscape-light-2436x1125.png",revision:"459b9c158b3a52222787d00a276baa21"},{url:"pwa/apple-splash-landscape-light-2532x1170.png",revision:"b9e11e5a3435cf159f240b5f6da5dc76"},{url:"pwa/apple-splash-landscape-light-2556x1179.png",revision:"3f0efc9e8de850ae5d3a72a158d39055"},{url:"pwa/apple-splash-landscape-light-2688x1242.png",revision:"3757f5338eb50c9f6fb8ad0d72597465"},{url:"pwa/apple-splash-landscape-light-2732x2048.png",revision:"0e5ec355113efe5ce253583209a64bb8"},{url:"pwa/apple-splash-landscape-light-2778x1284.png",revision:"95d2479cf715c2ea0104fd5f55fa62b3"},{url:"pwa/apple-splash-landscape-light-2796x1290.png",revision:"a46e458259177e134ad383d133b29774"},{url:"pwa/apple-splash-portrait-dark-1125x2436.png",revision:"53ddd8644a89bfc79c8d1bfbaa51527b"},{url:"pwa/apple-splash-portrait-dark-1170x2532.png",revision:"476ac5131289040d8d88803c18dc20bb"},{url:"pwa/apple-splash-portrait-dark-1179x2556.png",revision:"8eac224083023d0d21374d9f9087bab5"},{url:"pwa/apple-splash-portrait-dark-1242x2208.png",revision:"1b7f03eaab3cf8af8aa6057fd97278d8"},{url:"pwa/apple-splash-portrait-dark-1242x2688.png",revision:"c56eb0a4a8b4c7bb850cbfc35dd62bba"},{url:"pwa/apple-splash-portrait-dark-1284x2778.png",revision:"d7230994de3c4c6016ac252431031ea7"},{url:"pwa/apple-splash-portrait-dark-1290x2796.png",revision:"e7f2a468891736413b1e0622a510fd5a"},{url:"pwa/apple-splash-portrait-dark-1536x2048.png",revision:"0b26c0a578f6b13b3df06abecc81fb82"},{url:"pwa/apple-splash-portrait-dark-1620x2160.png",revision:"1a9f84fba88d4cd5924cf5a39d541b46"},{url:"pwa/apple-splash-portrait-dark-1668x2224.png",revision:"1e7b39c9f5fdca7ddf23c1248f7628bf"},{url:"pwa/apple-splash-portrait-dark-1668x2388.png",revision:"fb7fb372580598abf8a1d8eb7305462a"},{url:"pwa/apple-splash-portrait-dark-2048x2732.png",revision:"60acb5fbde5bb76a368238c5e079c717"},{url:"pwa/apple-splash-portrait-dark-640x1136.png",revision:"b901a6f04ef976aa81573ec0f3c8f32b"},{url:"pwa/apple-splash-portrait-dark-750x1334.png",revision:"54f99ba556f7cc149eb03fe6207d411d"},{url:"pwa/apple-splash-portrait-dark-828x1792.png",revision:"543d10f74f6f098e49ba989899182dee"},{url:"pwa/apple-splash-portrait-light-1125x2436.png",revision:"1a02e33add13bccc9f407efcfd2cf890"},{url:"pwa/apple-splash-portrait-light-1170x2532.png",revision:"58d656b4de9b32a09fc2ea1028116dfb"},{url:"pwa/apple-splash-portrait-light-1179x2556.png",revision:"8d1fc622bdb48dda2461e4f47a49249a"},{url:"pwa/apple-splash-portrait-light-1242x2208.png",revision:"8fd1367cac03e5798973cfa4e0dec5b0"},{url:"pwa/apple-splash-portrait-light-1242x2688.png",revision:"2b320f74bc7da7bf0d1be699183416c3"},{url:"pwa/apple-splash-portrait-light-1284x2778.png",revision:"461b13cf0d9c293ca220700bb4148afa"},{url:"pwa/apple-splash-portrait-light-1290x2796.png",revision:"d57711837cf7e3801a9e8126b1695aaa"},{url:"pwa/apple-splash-portrait-light-1536x2048.png",revision:"42716fc23cfa58d3f154fea1875eb3f5"},{url:"pwa/apple-splash-portrait-light-1620x2160.png",revision:"41bdc2c492d374bf8c6b6875e2beb9f1"},{url:"pwa/apple-splash-portrait-light-1668x2224.png",revision:"a1b5adab2a71d0fa646e7b0e9a4fcb71"},{url:"pwa/apple-splash-portrait-light-1668x2388.png",revision:"5db134deca3d2e8a1ae2d8e67c77c420"},{url:"pwa/apple-splash-portrait-light-2048x2732.png",revision:"cf9c75c2e56f8d3af7d914a00ce30286"},{url:"pwa/apple-splash-portrait-light-640x1136.png",revision:"588e312fd0851d5767972a1efc33e6a3"},{url:"pwa/apple-splash-portrait-light-750x1334.png",revision:"191c785b1e7b47ac1b1d6bc2a84bde85"},{url:"pwa/apple-splash-portrait-light-828x1792.png",revision:"8deb1063185df6a2d3089a9fa33f6ad1"},{url:"pwa/apple-touch-icon-180x180.png",revision:"91aec7b3a553812fbd3cd72adb17fcc4"},{url:"pwa/favicon-16.ico",revision:"163ae861c5ab9f68ed21324c19dfe35d"},{url:"pwa/favicon-32.ico",revision:"874b054da3800e7c320445396a49de81"},{url:"pwa/favicon-48.ico",revision:"ae2747aeae28b34eed33001c91ec2f3b"},{url:"pwa/favicon-64.ico",revision:"6a697d7662ab5ee246918cdc7c412343"},{url:"pwa/logo.svg",revision:"1aa262f4a37293a91083eea10794d2ca"},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/pwa-120x120.png",revision:"3f5ec31f6bd07910482227b259344110"},{url:"pwa/pwa-144x144.png",revision:"4fdf5c8fb085f764ed7dd5a26698bff5"},{url:"pwa/pwa-152x152.png",revision:"4cf41c7b603d382e83e098affb7cb9da"},{url:"pwa/pwa-167x167.png",revision:"de6a5ca921b45fb3bd30d27c707981c6"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-192x192.png",revision:"3d58c2dd940c535cc166cc8d0844429d"},{url:"pwa/pwa-24x24.png",revision:"bdb25f68ca300283b37041e47d3e6ba8"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-36x36.png",revision:"4d08bb198d4e54e4d12a0810fc59f059"},{url:"pwa/pwa-48x48.png",revision:"97d7369c892f1e0914c2617ff26feb3c"},{url:"pwa/pwa-50x50.png",revision:"a20fc2e6f26aa548f9cae07911087f6c"},{url:"pwa/pwa-64x64.png",revision:"f57763be3212fd4154c502d607e7ed38"},{url:"pwa/pwa-72x72.png",revision:"66698bb499639052ad337f7e9a7d7ea8"},{url:"pwa/pwa-88x88.png",revision:"6e8af0a85b0627a835b62067d5189cb4"},{url:"pwa/pwa-96x96.png",revision:"675ea863c25fa9ae31d4d76a47463c78"},{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"robots.txt",revision:"f77c87f977e0fcce05a6df46c885a129"},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/pwa-120x120.png",revision:"3f5ec31f6bd07910482227b259344110"},{url:"pwa/pwa-144x144.png",revision:"4fdf5c8fb085f764ed7dd5a26698bff5"},{url:"pwa/pwa-152x152.png",revision:"4cf41c7b603d382e83e098affb7cb9da"},{url:"pwa/pwa-167x167.png",revision:"de6a5ca921b45fb3bd30d27c707981c6"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-192x192.png",revision:"3d58c2dd940c535cc166cc8d0844429d"},{url:"pwa/pwa-24x24.png",revision:"bdb25f68ca300283b37041e47d3e6ba8"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-36x36.png",revision:"4d08bb198d4e54e4d12a0810fc59f059"},{url:"pwa/pwa-48x48.png",revision:"97d7369c892f1e0914c2617ff26feb3c"},{url:"pwa/pwa-50x50.png",revision:"a20fc2e6f26aa548f9cae07911087f6c"},{url:"pwa/pwa-64x64.png",revision:"f57763be3212fd4154c502d607e7ed38"},{url:"pwa/pwa-72x72.png",revision:"66698bb499639052ad337f7e9a7d7ea8"},{url:"pwa/pwa-88x88.png",revision:"6e8af0a85b0627a835b62067d5189cb4"},{url:"pwa/pwa-96x96.png",revision:"675ea863c25fa9ae31d4d76a47463c78"},{url:"manifest.webmanifest",revision:"eb07dc0bb24b0c377320c5c5b5043177"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html")))}));
1
+ if(!self.define){let s,e={};const a=(a,l)=>(a=new URL(a+".js",l).href,e[a]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=a,s.onload=e,document.head.appendChild(s)}else s=a,importScripts(a),e()})).then((()=>{let s=e[a];if(!s)throw new Error(`Module ${a} didn’t register its module`);return s})));self.define=(l,r)=>{const i=s||("document"in self?document.currentScript.src:"")||location.href;if(e[i])return;let n={};const p=s=>a(s,i),u={module:{uri:i},exports:n,require:p};e[i]=Promise.all(l.map((s=>u[s]||p(s)))).then((s=>(r(...s),n)))}}define(["./workbox-3e911b1d"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/@babel-l0sNRNKZ.js",revision:null},{url:"assets/@intlify-Ck2ZoCVz.js",revision:null},{url:"assets/@mdi-CmcijEFB.js",revision:null},{url:"assets/@popperjs-BQBsAJpH.js",revision:null},{url:"assets/@react-dnd-CcwRs9xb.js",revision:null},{url:"assets/@socket.io-Dkula2eQ.js",revision:null},{url:"assets/@tanstack-BvYNCsQh.js",revision:null},{url:"assets/@vee-validate-BY5H7fGS.js",revision:null},{url:"assets/@vue-DMh6qW6s.js",revision:null},{url:"assets/@vueform-B62o9zLe.js",revision:null},{url:"assets/@vueform-h7tNX9p6.css",revision:null},{url:"assets/@vueuse-D76s02Ot.js",revision:null},{url:"assets/@xterm-B4Ga69iL.js",revision:null},{url:"assets/@xterm-CGrrDQr5.css",revision:null},{url:"assets/Account-CWvLwuSI.js",revision:null},{url:"assets/Account-DlOUWknb.css",revision:null},{url:"assets/ace-builds-CigWTak4.js",revision:null},{url:"assets/Adminpanel-Cp92VRfz.css",revision:null},{url:"assets/Adminpanel-D1acAd4f.js",revision:null},{url:"assets/Appearance-Bt86BtvT.js",revision:null},{url:"assets/axios--Jv2L996.js",revision:null},{url:"assets/Backup-BoCWS3SS.js",revision:null},{url:"assets/Backup-DBv9xFPh.css",revision:null},{url:"assets/Camera-CWiLco3W.css",revision:null},{url:"assets/Camera-DGGyL9at.js",revision:null},{url:"assets/Cameras-BT6tKbp5.js",revision:null},{url:"assets/Cameras-Du4Q1fbV.css",revision:null},{url:"assets/Camview-BIiqI_Yj.js",revision:null},{url:"assets/Camview-CWTrsoY0.css",revision:null},{url:"assets/compare-versions-DqEOhma6.js",revision:null},{url:"assets/Config-CfhTfiRn.css",revision:null},{url:"assets/Config-EHUrVnjH.js",revision:null},{url:"assets/Console-CJPb2CoP.css",revision:null},{url:"assets/Console-D7qigIrb.js",revision:null},{url:"assets/dijkstrajs-D_NXgYpA.js",revision:null},{url:"assets/dnd-core-SnWOpY0X.js",revision:null},{url:"assets/draggabilly-Arakw9Dk.js",revision:null},{url:"assets/engine.io-client-DBBxzneW.js",revision:null},{url:"assets/engine.io-parser-BiEtp6m2.js",revision:null},{url:"assets/entities-C20TfXL6.js",revision:null},{url:"assets/ev-emitter-CXYwG0eJ.js",revision:null},{url:"assets/fast-deep-equal-5pvsDbwX.js",revision:null},{url:"assets/FirstSteps-BdNf60c3.js",revision:null},{url:"assets/FirstSteps-tMe0mt29.css",revision:null},{url:"assets/get-size-D1dS-IaP.js",revision:null},{url:"assets/highlight-DgoK_Xib.css",revision:null},{url:"assets/highlight.js-TxRCSjhv.js",revision:null},{url:"assets/linkify-it-DmNjr4Kv.js",revision:null},{url:"assets/logo-256-BCQk9H1-.png",revision:null},{url:"assets/logo-512-DLKVOU2S.png",revision:null},{url:"assets/logo-DmEiRk0z.png",revision:null},{url:"assets/main-g2kR7sEX.js",revision:null},{url:"assets/main-Uk5-SrnC.css",revision:null},{url:"assets/markdown-it-DI8MEbma.js",revision:null},{url:"assets/mdurl-k9Sl0PQj.js",revision:null},{url:"assets/mode-json-Br7xisR1.js",revision:null},{url:"assets/mode-yaml-CIYL8U3d.js",revision:null},{url:"assets/NewCamera-CHMgUDbC.css",revision:null},{url:"assets/NewCamera-DrIOe7GH.js",revision:null},{url:"assets/nprogress-DSyAi0LF.js",revision:null},{url:"assets/pinia-BQbsPkIS.js",revision:null},{url:"assets/Plugin-CZN7KLfw.js",revision:null},{url:"assets/Plugin-DzKKCoqQ.css",revision:null},{url:"assets/Plugins-DePXhcTc.js",revision:null},{url:"assets/Plugins-DJCy47sz.css",revision:null},{url:"assets/plugins-S3SjQeRW.js",revision:null},{url:"assets/punycode.js-Dj65hjkv.js",revision:null},{url:"assets/qrcode-SHonoxyK.js",revision:null},{url:"assets/react-dnd-html5-backend-1HQjlkwI.js",revision:null},{url:"assets/react-dnd-touch-backend-NgACaG8W.js",revision:null},{url:"assets/Recordings-BsNa4nl1.js",revision:null},{url:"assets/Recordings-CBmeBTjC.js",revision:null},{url:"assets/redux-CuxFRhX_.js",revision:null},{url:"assets/rxjs-CQrF441D.js",revision:null},{url:"assets/Settings-HBKa6UiL.js",revision:null},{url:"assets/Settings-JES2wb8p.css",revision:null},{url:"assets/socket.io-client-Bq_SHkin.js",revision:null},{url:"assets/socket.io-parser-BBkuslX-.js",revision:null},{url:"assets/System-BeXkfJHe.js",revision:null},{url:"assets/system-l2HUoPBI.js",revision:null},{url:"assets/System-sfhoKWOV.css",revision:null},{url:"assets/tslib-9k7AwCpt.js",revision:null},{url:"assets/uc.micro-kMc2yuuw.js",revision:null},{url:"assets/ui-CyEgSsGE.js",revision:null},{url:"assets/unidragger-BYtqgAQ0.js",revision:null},{url:"assets/User-CA1u4oTs.js",revision:null},{url:"assets/User-DBVny1Dv.css",revision:null},{url:"assets/utils-BvINh1mj.js",revision:null},{url:"assets/uuid-DvF23Exx.js",revision:null},{url:"assets/v-calendar-CtSuDYZU.css",revision:null},{url:"assets/v-calendar-CVkp7hgG.js",revision:null},{url:"assets/VConfigEditor.vue_vue_type_script_setup_true_lang-DzQETeRW.js",revision:null},{url:"assets/VConsole-B1XFaB1X.js",revision:null},{url:"assets/VConsole-MV9pQtJj.css",revision:null},{url:"assets/vee-validate-9vrYaQFq.js",revision:null},{url:"assets/VPlayer-B1HHlrNE.css",revision:null},{url:"assets/VPlayer-DpgP5_CU.js",revision:null},{url:"assets/VPluginCard-D_XHVDOF.css",revision:null},{url:"assets/VPluginCard-DxspPu-g.js",revision:null},{url:"assets/vue-i18n-DqKZtX1N.js",revision:null},{url:"assets/vue-inline-svg-D1BV6A5r.js",revision:null},{url:"assets/vue-l0sNRNKZ.js",revision:null},{url:"assets/vue-router-Bje-Muh5.js",revision:null},{url:"assets/vue3-apexcharts-B8Nznyy3.js",revision:null},{url:"assets/vue3-dnd-CvPSCHQb.js",revision:null},{url:"assets/vue3-toastify-D8Ru9hkX.js",revision:null},{url:"assets/vue3-toastify-DTY1DMRs.css",revision:null},{url:"assets/vuetify-CoMF_JkX.css",revision:null},{url:"assets/vuetify-DYU2dOLI.js",revision:null},{url:"assets/zod-BaF2dDCd.js",revision:null},{url:"fonts/Inter/Inter-Regular.ttf",revision:"ea5879884a95551632e9eb1bba5b2128"},{url:"index.html",revision:"2b66fb6f4454c786c39a5638d7ea6fec"},{url:"pwa/apple-splash-landscape-dark-1136x640.png",revision:"c6b193de9bd234c81fdea1d28fe7b88c"},{url:"pwa/apple-splash-landscape-dark-1334x750.png",revision:"d82dd37eb2bdf815c1e2ab367134cbbf"},{url:"pwa/apple-splash-landscape-dark-1792x828.png",revision:"281d292ea4448638bb250a3fca5f5f44"},{url:"pwa/apple-splash-landscape-dark-2048x1536.png",revision:"70f0181b7e075e3b64e261c4d4e3eada"},{url:"pwa/apple-splash-landscape-dark-2160x1620.png",revision:"ee54046f738fe4346d7febbfaa711244"},{url:"pwa/apple-splash-landscape-dark-2208x1242.png",revision:"2989b9f038112f8eed3694fa53b86e6a"},{url:"pwa/apple-splash-landscape-dark-2224x1668.png",revision:"1144751415d9c1f3d1bc34407b9a9539"},{url:"pwa/apple-splash-landscape-dark-2388x1668.png",revision:"e17cbe3b198574eb6fc822c17e22d935"},{url:"pwa/apple-splash-landscape-dark-2436x1125.png",revision:"85613cc4f5040791ef13e4b2a1ecc840"},{url:"pwa/apple-splash-landscape-dark-2532x1170.png",revision:"b89d280148f1bcb816c6364c37daefb6"},{url:"pwa/apple-splash-landscape-dark-2556x1179.png",revision:"02e2914d36b2aaf6da02799414a23738"},{url:"pwa/apple-splash-landscape-dark-2688x1242.png",revision:"dcd13ed9567fa4d98867f5c97cc89695"},{url:"pwa/apple-splash-landscape-dark-2732x2048.png",revision:"dc9fbb966dfc3350466279749c2946d7"},{url:"pwa/apple-splash-landscape-dark-2778x1284.png",revision:"19d1e7a02d9edd3354c61b7c54ea9c1e"},{url:"pwa/apple-splash-landscape-dark-2796x1290.png",revision:"22b9597a28c081730e3430e467b4e36d"},{url:"pwa/apple-splash-landscape-light-1136x640.png",revision:"c9b4c38f0a267051c0c83cc92c0f5767"},{url:"pwa/apple-splash-landscape-light-1334x750.png",revision:"f513cdc13ffaf0c2a82bb207e2a9a397"},{url:"pwa/apple-splash-landscape-light-1792x828.png",revision:"c6e29d789061fc48eb9f3a54cb1950be"},{url:"pwa/apple-splash-landscape-light-2048x1536.png",revision:"1b27b72b070b260eceeaab092a82663d"},{url:"pwa/apple-splash-landscape-light-2160x1620.png",revision:"31ac689a78386cf844e33f10fd5d2029"},{url:"pwa/apple-splash-landscape-light-2208x1242.png",revision:"653857094b0c183908571fea1aed7b2f"},{url:"pwa/apple-splash-landscape-light-2224x1668.png",revision:"ecf0efece27d70815f7401f7f3e40a24"},{url:"pwa/apple-splash-landscape-light-2388x1668.png",revision:"3733608412963cb747e32b2790013523"},{url:"pwa/apple-splash-landscape-light-2436x1125.png",revision:"459b9c158b3a52222787d00a276baa21"},{url:"pwa/apple-splash-landscape-light-2532x1170.png",revision:"b9e11e5a3435cf159f240b5f6da5dc76"},{url:"pwa/apple-splash-landscape-light-2556x1179.png",revision:"3f0efc9e8de850ae5d3a72a158d39055"},{url:"pwa/apple-splash-landscape-light-2688x1242.png",revision:"3757f5338eb50c9f6fb8ad0d72597465"},{url:"pwa/apple-splash-landscape-light-2732x2048.png",revision:"0e5ec355113efe5ce253583209a64bb8"},{url:"pwa/apple-splash-landscape-light-2778x1284.png",revision:"95d2479cf715c2ea0104fd5f55fa62b3"},{url:"pwa/apple-splash-landscape-light-2796x1290.png",revision:"a46e458259177e134ad383d133b29774"},{url:"pwa/apple-splash-portrait-dark-1125x2436.png",revision:"53ddd8644a89bfc79c8d1bfbaa51527b"},{url:"pwa/apple-splash-portrait-dark-1170x2532.png",revision:"476ac5131289040d8d88803c18dc20bb"},{url:"pwa/apple-splash-portrait-dark-1179x2556.png",revision:"8eac224083023d0d21374d9f9087bab5"},{url:"pwa/apple-splash-portrait-dark-1242x2208.png",revision:"1b7f03eaab3cf8af8aa6057fd97278d8"},{url:"pwa/apple-splash-portrait-dark-1242x2688.png",revision:"c56eb0a4a8b4c7bb850cbfc35dd62bba"},{url:"pwa/apple-splash-portrait-dark-1284x2778.png",revision:"d7230994de3c4c6016ac252431031ea7"},{url:"pwa/apple-splash-portrait-dark-1290x2796.png",revision:"e7f2a468891736413b1e0622a510fd5a"},{url:"pwa/apple-splash-portrait-dark-1536x2048.png",revision:"0b26c0a578f6b13b3df06abecc81fb82"},{url:"pwa/apple-splash-portrait-dark-1620x2160.png",revision:"1a9f84fba88d4cd5924cf5a39d541b46"},{url:"pwa/apple-splash-portrait-dark-1668x2224.png",revision:"1e7b39c9f5fdca7ddf23c1248f7628bf"},{url:"pwa/apple-splash-portrait-dark-1668x2388.png",revision:"fb7fb372580598abf8a1d8eb7305462a"},{url:"pwa/apple-splash-portrait-dark-2048x2732.png",revision:"60acb5fbde5bb76a368238c5e079c717"},{url:"pwa/apple-splash-portrait-dark-640x1136.png",revision:"b901a6f04ef976aa81573ec0f3c8f32b"},{url:"pwa/apple-splash-portrait-dark-750x1334.png",revision:"54f99ba556f7cc149eb03fe6207d411d"},{url:"pwa/apple-splash-portrait-dark-828x1792.png",revision:"543d10f74f6f098e49ba989899182dee"},{url:"pwa/apple-splash-portrait-light-1125x2436.png",revision:"1a02e33add13bccc9f407efcfd2cf890"},{url:"pwa/apple-splash-portrait-light-1170x2532.png",revision:"58d656b4de9b32a09fc2ea1028116dfb"},{url:"pwa/apple-splash-portrait-light-1179x2556.png",revision:"8d1fc622bdb48dda2461e4f47a49249a"},{url:"pwa/apple-splash-portrait-light-1242x2208.png",revision:"8fd1367cac03e5798973cfa4e0dec5b0"},{url:"pwa/apple-splash-portrait-light-1242x2688.png",revision:"2b320f74bc7da7bf0d1be699183416c3"},{url:"pwa/apple-splash-portrait-light-1284x2778.png",revision:"461b13cf0d9c293ca220700bb4148afa"},{url:"pwa/apple-splash-portrait-light-1290x2796.png",revision:"d57711837cf7e3801a9e8126b1695aaa"},{url:"pwa/apple-splash-portrait-light-1536x2048.png",revision:"42716fc23cfa58d3f154fea1875eb3f5"},{url:"pwa/apple-splash-portrait-light-1620x2160.png",revision:"41bdc2c492d374bf8c6b6875e2beb9f1"},{url:"pwa/apple-splash-portrait-light-1668x2224.png",revision:"a1b5adab2a71d0fa646e7b0e9a4fcb71"},{url:"pwa/apple-splash-portrait-light-1668x2388.png",revision:"5db134deca3d2e8a1ae2d8e67c77c420"},{url:"pwa/apple-splash-portrait-light-2048x2732.png",revision:"cf9c75c2e56f8d3af7d914a00ce30286"},{url:"pwa/apple-splash-portrait-light-640x1136.png",revision:"588e312fd0851d5767972a1efc33e6a3"},{url:"pwa/apple-splash-portrait-light-750x1334.png",revision:"191c785b1e7b47ac1b1d6bc2a84bde85"},{url:"pwa/apple-splash-portrait-light-828x1792.png",revision:"8deb1063185df6a2d3089a9fa33f6ad1"},{url:"pwa/apple-touch-icon-180x180.png",revision:"91aec7b3a553812fbd3cd72adb17fcc4"},{url:"pwa/favicon-16.ico",revision:"163ae861c5ab9f68ed21324c19dfe35d"},{url:"pwa/favicon-32.ico",revision:"874b054da3800e7c320445396a49de81"},{url:"pwa/favicon-48.ico",revision:"ae2747aeae28b34eed33001c91ec2f3b"},{url:"pwa/favicon-64.ico",revision:"6a697d7662ab5ee246918cdc7c412343"},{url:"pwa/logo.svg",revision:"1aa262f4a37293a91083eea10794d2ca"},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/pwa-120x120.png",revision:"3f5ec31f6bd07910482227b259344110"},{url:"pwa/pwa-144x144.png",revision:"4fdf5c8fb085f764ed7dd5a26698bff5"},{url:"pwa/pwa-152x152.png",revision:"4cf41c7b603d382e83e098affb7cb9da"},{url:"pwa/pwa-167x167.png",revision:"de6a5ca921b45fb3bd30d27c707981c6"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-192x192.png",revision:"3d58c2dd940c535cc166cc8d0844429d"},{url:"pwa/pwa-24x24.png",revision:"bdb25f68ca300283b37041e47d3e6ba8"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-36x36.png",revision:"4d08bb198d4e54e4d12a0810fc59f059"},{url:"pwa/pwa-48x48.png",revision:"97d7369c892f1e0914c2617ff26feb3c"},{url:"pwa/pwa-50x50.png",revision:"a20fc2e6f26aa548f9cae07911087f6c"},{url:"pwa/pwa-64x64.png",revision:"f57763be3212fd4154c502d607e7ed38"},{url:"pwa/pwa-72x72.png",revision:"66698bb499639052ad337f7e9a7d7ea8"},{url:"pwa/pwa-88x88.png",revision:"6e8af0a85b0627a835b62067d5189cb4"},{url:"pwa/pwa-96x96.png",revision:"675ea863c25fa9ae31d4d76a47463c78"},{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"robots.txt",revision:"f77c87f977e0fcce05a6df46c885a129"},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/pwa-120x120.png",revision:"3f5ec31f6bd07910482227b259344110"},{url:"pwa/pwa-144x144.png",revision:"4fdf5c8fb085f764ed7dd5a26698bff5"},{url:"pwa/pwa-152x152.png",revision:"4cf41c7b603d382e83e098affb7cb9da"},{url:"pwa/pwa-167x167.png",revision:"de6a5ca921b45fb3bd30d27c707981c6"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-192x192.png",revision:"3d58c2dd940c535cc166cc8d0844429d"},{url:"pwa/pwa-24x24.png",revision:"bdb25f68ca300283b37041e47d3e6ba8"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-36x36.png",revision:"4d08bb198d4e54e4d12a0810fc59f059"},{url:"pwa/pwa-48x48.png",revision:"97d7369c892f1e0914c2617ff26feb3c"},{url:"pwa/pwa-50x50.png",revision:"a20fc2e6f26aa548f9cae07911087f6c"},{url:"pwa/pwa-64x64.png",revision:"f57763be3212fd4154c502d607e7ed38"},{url:"pwa/pwa-72x72.png",revision:"66698bb499639052ad337f7e9a7d7ea8"},{url:"pwa/pwa-88x88.png",revision:"6e8af0a85b0627a835b62067d5189cb4"},{url:"pwa/pwa-96x96.png",revision:"675ea863c25fa9ae31d4d76a47463c78"},{url:"manifest.webmanifest",revision:"eb07dc0bb24b0c377320c5c5b5043177"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html")))}));
@@ -1,7 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  export declare class CameraUiCLI {
3
- action: 'install' | 'uninstall' | 'start' | 'stop' | 'restart' | 'run' | 'logs' | 'status';
3
+ action: 'install' | 'uninstall' | 'before-start' | 'start' | 'stop' | 'restart' | 'run' | 'logs' | 'status';
4
4
  selfPath: string;
5
+ baseDir: string;
6
+ homePath: string;
5
7
  storagePath: string;
6
8
  serviceName: string;
7
9
  allowRunRoot: boolean;
@@ -23,13 +25,15 @@ export declare class CameraUiCLI {
23
25
  logger(msg: string, level?: 'info' | 'succeed' | 'fail' | 'warn'): void;
24
26
  printPostInstallInstructions(): Promise<void>;
25
27
  portCheck(): Promise<void>;
26
- storagePathCheck(): Promise<void>;
28
+ homePathCheck(): Promise<void>;
27
29
  getUserHomeDir(): string;
30
+ waitForApiHealth(maxWaitTime?: number): Promise<boolean>;
28
31
  private showVersion;
29
32
  private launch;
30
33
  private run;
31
34
  private stop;
32
35
  private setEnv;
36
+ private storagePathCheck;
33
37
  private statusCheck;
34
38
  private nodeVersionCheck;
35
39
  private nvmCheck;
@@ -24,6 +24,8 @@ const __dirname = dirname(__filename);
24
24
  export class CameraUiCLI {
25
25
  action;
26
26
  selfPath = __filename;
27
+ baseDir;
28
+ homePath;
27
29
  storagePath;
28
30
  serviceName = 'cameraui';
29
31
  allowRunRoot = false;
@@ -78,8 +80,8 @@ export class CameraUiCLI {
78
80
  .name('cameraui')
79
81
  .description('camera.ui service manager')
80
82
  .arguments('[install|uninstall|start|stop|restart|run|logs|status]')
81
- .option('-S, --storage-path <path>', 'The directory where camera.ui will store its data', (p) => (this.storagePath = p), this.getUserHomeDir())
82
- .option('-N, --service-name <service name>', 'The name of the camera.ui service to install or control', (p) => (this.serviceName = p), 'cameraui')
83
+ .option('-H, --home-path <path>', 'The directory where camera.ui will store its data', (p) => (this.homePath = p), resolve(this.getUserHomeDir(), '.camera.ui'))
84
+ .option('-S, --service-name <service name>', 'The name of the camera.ui service to install or control', (p) => (this.serviceName = p), 'cameraui')
83
85
  .option('--user <user>', 'The user account the camera.ui service will be installed as (Linux, FreeBSD, macOS only)', (p) => (this.asUser = p))
84
86
  .option('--group <group>', 'The group the camera.ui service will be added to (Linux, FreeBSD, macOS only)', (p) => (this.addGroup = p))
85
87
  .option('--stdout', 'Output logs to stdout instead of a file', () => (this.stdout = true), false)
@@ -124,6 +126,10 @@ export class CameraUiCLI {
124
126
  this.tailLogs();
125
127
  break;
126
128
  }
129
+ case 'before-start': {
130
+ this.installer.beforeStart();
131
+ break;
132
+ }
127
133
  case 'status': {
128
134
  this.statusCheck();
129
135
  break;
@@ -193,12 +199,13 @@ export class CameraUiCLI {
193
199
  process.exit(1);
194
200
  }
195
201
  }
196
- async storagePathCheck() {
197
- if (!(await fs.pathExists(this.storagePath))) {
198
- this.logger(`Creating camera.ui directory: ${this.storagePath}`);
199
- await fs.mkdirp(this.storagePath);
200
- await this.chownPath(this.storagePath);
202
+ async homePathCheck() {
203
+ if (!(await fs.pathExists(this.homePath))) {
204
+ this.logger(`Creating camera.ui directory: ${this.homePath}`);
205
+ await fs.mkdirp(this.homePath);
206
+ await this.chownPath(this.homePath);
201
207
  }
208
+ await this.storagePathCheck();
202
209
  }
203
210
  getUserHomeDir() {
204
211
  try {
@@ -213,6 +220,26 @@ export class CameraUiCLI {
213
220
  return homedir();
214
221
  }
215
222
  }
223
+ async waitForApiHealth(maxWaitTime = 300000) {
224
+ const startTime = Date.now();
225
+ const checkInterval = 5000; // Check every 5 seconds
226
+ const spinner = ora('Setup in progress. Waiting for the API to become available...').start();
227
+ while (Date.now() - startTime < maxWaitTime) {
228
+ try {
229
+ const isHealthy = await this.fetchApiHealth();
230
+ if (isHealthy) {
231
+ spinner.succeed('API is now available.');
232
+ return true;
233
+ }
234
+ }
235
+ catch {
236
+ // API not ready yet, continue waiting
237
+ }
238
+ await new Promise((resolve) => setTimeout(resolve, checkInterval));
239
+ }
240
+ spinner.fail('API did not become available within the expected time.');
241
+ return false;
242
+ }
216
243
  showVersion() {
217
244
  const pjson = fs.readJsonSync(resolve(__dirname, '../', 'package.json'));
218
245
  console.log('v' + pjson.version);
@@ -228,7 +255,7 @@ export class CameraUiCLI {
228
255
  this.truncateLog();
229
256
  }, 1000 * 60 * 60 * 2);
230
257
  try {
231
- await this.storagePathCheck();
258
+ await this.homePathCheck();
232
259
  await this.startLog();
233
260
  }
234
261
  catch (e) {
@@ -264,7 +291,7 @@ export class CameraUiCLI {
264
291
  this.fixDockerPermissions();
265
292
  }
266
293
  const forkPath = ConfigService.IS_DEV ? resolve(__dirname, './fork.ts') : resolve(__dirname, './fork.js');
267
- this.forkedProcess = fork(forkPath, ['-s', this.storagePath], childProcessOpts);
294
+ this.forkedProcess = fork(forkPath, ['-H', this.homePath], childProcessOpts);
268
295
  this.forkedProcess.stdout?.pipe(process.stdout);
269
296
  this.forkedProcess.stderr?.pipe(process.stderr);
270
297
  this.forkedProcess.on('close', (code, signal) => {
@@ -289,14 +316,23 @@ export class CameraUiCLI {
289
316
  this.logger('ERROR: Service name must not contain spaces or special characters', 'fail');
290
317
  process.exit(1);
291
318
  }
292
- if (!this.storagePath) {
319
+ if (!this.homePath) {
293
320
  if (ConfigService.IS_DEV) {
294
- this.storagePath = resolve(__dirname, '../../volume');
321
+ this.homePath = resolve(__dirname, '..', '..', '.camera.ui');
295
322
  }
296
323
  else {
297
- this.storagePath = resolve(this.getUserHomeDir(), '.camera.ui', 'volume');
324
+ this.homePath = resolve(this.getUserHomeDir(), '.camera.ui');
298
325
  }
299
326
  }
327
+ this.baseDir = resolve(__dirname, '..', '..', '..');
328
+ this.storagePath = resolve(this.homePath, 'volume');
329
+ }
330
+ async storagePathCheck() {
331
+ if (!(await fs.pathExists(this.storagePath))) {
332
+ this.logger(`Creating camera.ui storage directory: ${this.storagePath}`);
333
+ await fs.mkdirp(this.storagePath);
334
+ await this.chownPath(this.storagePath);
335
+ }
300
336
  }
301
337
  async statusCheck() {
302
338
  this.logger(`Check if camera.ui is running on port ${this.uiPort}...`);
@@ -472,10 +508,17 @@ export class CameraUiCLI {
472
508
  async chownPath(pathToChown) {
473
509
  if (platform() !== 'win32' && process.getuid?.() === 0) {
474
510
  const { uid, gid } = await this.installer.getId();
511
+ this.logger(`Changing ownership of ${pathToChown} to ${uid}:${gid}`);
475
512
  fs.chownSync(pathToChown, uid, gid);
476
513
  }
477
514
  }
478
515
  fixDockerPermissions() {
516
+ try {
517
+ execSync(`chown -R ${this.uid}:${this.gid} "${this.homePath}"`);
518
+ }
519
+ catch {
520
+ // do nothing
521
+ }
479
522
  try {
480
523
  execSync(`chown -R ${this.uid}:${this.gid} "${this.storagePath}"`);
481
524
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cameraui.js","sourceRoot":"","sources":["../../../bin/cameraui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cameraui.js","sourceRoot":"","sources":["../../../bin/cameraui.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,14 @@ export declare class DarwinInstaller extends BasePlatform {
38
38
  * Check the command is being run as root and we can detect the user
39
39
  */
40
40
  private checkForRoot;
41
+ /**
42
+ * Checks if the user has write access to the global npm directory
43
+ */
44
+ private checkGlobalNpmAccess;
45
+ /**
46
+ * Set permissions on global npm path
47
+ */
48
+ private setNpmPermissions;
41
49
  /**
42
50
  * Create the system launch agent
43
51
  */
@@ -17,14 +17,21 @@ export class DarwinInstaller extends BasePlatform {
17
17
  async install() {
18
18
  this.checkForRoot();
19
19
  await this.cli.portCheck();
20
- await this.cli.storagePathCheck();
20
+ await this.checkGlobalNpmAccess();
21
+ await this.cli.homePathCheck();
21
22
  try {
22
23
  const la = await this.createLaunchAgent();
23
24
  console.log('\r\n');
24
25
  console.log(la);
25
26
  console.log('\r\n');
26
27
  await this.start();
27
- await this.cli.printPostInstallInstructions();
28
+ const apiReady = await this.cli.waitForApiHealth();
29
+ if (apiReady) {
30
+ await this.cli.printPostInstallInstructions();
31
+ }
32
+ else {
33
+ this.cli.logger('WARNING: There might be errors, or the setup might still be in progress.\n' + ' You can check the logs using the command: cameraui logs', 'warn');
34
+ }
28
35
  }
29
36
  catch (e) {
30
37
  console.error(e.toString());
@@ -135,6 +142,50 @@ export class DarwinInstaller extends BasePlatform {
135
142
  }
136
143
  this.user = this.cli.asUser || process.env.SUDO_USER;
137
144
  }
145
+ /**
146
+ * Checks if the user has write access to the global npm directory
147
+ */
148
+ async checkGlobalNpmAccess() {
149
+ const npmGlobalPath = execSync('/bin/echo -n "$(npm -g prefix)/lib/node_modules"', {
150
+ env: Object.assign({
151
+ npm_config_loglevel: 'silent',
152
+ npm_update_notifier: 'false',
153
+ }, process.env),
154
+ }).toString('utf8');
155
+ const { uid, gid } = await this.getId();
156
+ try {
157
+ execSync(`test -w "${npmGlobalPath}"`, {
158
+ uid,
159
+ gid,
160
+ });
161
+ execSync('test -w "$(dirname $(which npm))"', {
162
+ uid,
163
+ gid,
164
+ });
165
+ }
166
+ catch {
167
+ await this.setNpmPermissions(npmGlobalPath);
168
+ }
169
+ }
170
+ /**
171
+ * Set permissions on global npm path
172
+ */
173
+ async setNpmPermissions(npmGlobalPath) {
174
+ try {
175
+ execSync(`chown -R ${this.user}:admin "${npmGlobalPath}"`);
176
+ execSync(`chown -R ${this.user}:admin "$(dirname $(which npm))"`);
177
+ }
178
+ catch {
179
+ this.cli.logger(`ERROR: User "${this.user}" does not have write access to the global npm modules path.`, 'fail');
180
+ this.cli.logger('You can fix this issue by running the following commands:', 'fail');
181
+ console.log('');
182
+ console.log(`sudo chown -R ${this.user}:admin "${npmGlobalPath}"`);
183
+ console.log(`sudo chown -R ${this.user}:admin "$(dirname $(which npm))"`);
184
+ console.log('');
185
+ this.cli.logger('Once you have done this run the cameraui install command again to complete your installation.', 'fail');
186
+ process.exit(1);
187
+ }
188
+ }
138
189
  /**
139
190
  * Create the system launch agent
140
191
  */
@@ -155,11 +206,11 @@ export class DarwinInstaller extends BasePlatform {
155
206
  ` <string>${process.execPath}</string>`,
156
207
  ` <string>${this.cli.selfPath}</string>`,
157
208
  ' <string>run</string>',
158
- ' <string>-S</string>',
159
- ` <string>${this.cli.storagePath}</string>`,
209
+ ' <string>-H</string>',
210
+ ` <string>${this.cli.homePath}</string>`,
160
211
  ' </array>',
161
212
  ' <key>WorkingDirectory</key>',
162
- ` <string>${this.cli.storagePath}</string>`,
213
+ ` <string>${this.cli.homePath}</string>`,
163
214
  ' <key>StandardOutPath</key>',
164
215
  ` <string>${this.cli.storagePath}/camera.ui.log</string>`,
165
216
  ' <key>StandardErrorPath</key>',
@@ -1 +1 @@
1
- {"version":3,"file":"darwin.js","sourceRoot":"","sources":["../../../../bin/installer/darwin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"darwin.js","sourceRoot":"","sources":["../../../../bin/installer/darwin.ts"],"names":[],"mappings":"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"}
@@ -18,12 +18,18 @@ export class FreeBSDInstaller extends BasePlatform {
18
18
  await this.checkUser();
19
19
  this.setupSudo();
20
20
  await this.cli.portCheck();
21
- await this.cli.storagePathCheck();
21
+ await this.cli.homePathCheck();
22
22
  try {
23
23
  await this.createRCService();
24
24
  await this.enableService();
25
25
  await this.start();
26
- await this.cli.printPostInstallInstructions();
26
+ const apiReady = await this.cli.waitForApiHealth();
27
+ if (apiReady) {
28
+ await this.cli.printPostInstallInstructions();
29
+ }
30
+ else {
31
+ this.cli.logger('WARNING: There might be errors, or the setup might still be in progress.\n' + ' You can check the logs using the command: cameraui logs', 'warn');
32
+ }
27
33
  }
28
34
  catch (e) {
29
35
  console.error(e.toString());
@@ -221,6 +227,7 @@ export class FreeBSDInstaller extends BasePlatform {
221
227
  ': ${' + this.rcServiceName + '_enable:="NO"}',
222
228
  ': ${' + this.rcServiceName + '_facility:="daemon"}',
223
229
  ': ${' + this.rcServiceName + '_priority:="debug"}',
230
+ ': ${' + this.rcServiceName + '_home_path:="' + this.cli.homePath + '"}',
224
231
  ': ${' + this.rcServiceName + '_storage_path:="' + this.cli.storagePath + '"}',
225
232
  '',
226
233
  'export HOME="$(eval echo ~${' + this.rcServiceName + '_user})"',
@@ -229,7 +236,7 @@ export class FreeBSDInstaller extends BasePlatform {
229
236
  'pidfile="/var/run/${name}.pid"',
230
237
  'command="/usr/sbin/daemon"',
231
238
  'procname="daemon"',
232
- 'command_args=" -c -f -R 3 -P ${pidfile} ' + this.cli.selfPath + ` run -S ${this.cli.storagePath}"`,
239
+ 'command_args=" -c -f -R 3 -P ${pidfile} ' + this.cli.selfPath + ` run -H ${this.cli.homePath}"`,
233
240
  'start_precmd="cameraui_precmd"',
234
241
  '',
235
242
  'start_precmd="${name}_precmd"',
@@ -237,6 +244,7 @@ export class FreeBSDInstaller extends BasePlatform {
237
244
  '${name}_precmd()',
238
245
  '{',
239
246
  ' sleep 10',
247
+ ' chown -R ${' + this.rcServiceName + '_user}: ${' + this.rcServiceName + '_home_path}',
240
248
  ' chown -R ${' + this.rcServiceName + '_user}: ${' + this.rcServiceName + '_storage_path}',
241
249
  ' install -o ${' + this.rcServiceName + '_user} /dev/null ${pidfile}',
242
250
  '}',