homebridge-config-ui-x 5.0.0-beta.4 → 5.0.0-beta.41

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 (302) hide show
  1. package/CHANGELOG.md +226 -20
  2. package/CONTRIBUTING.md +5 -4
  3. package/LICENSE +1 -1
  4. package/config.schema.json +38 -18
  5. package/dist/bin/fork.js +17 -7
  6. package/dist/bin/fork.js.map +1 -1
  7. package/dist/bin/hb-service.d.ts +2 -2
  8. package/dist/bin/hb-service.js +68 -57
  9. package/dist/bin/hb-service.js.map +1 -1
  10. package/dist/bin/platforms/win32.js +4 -2
  11. package/dist/bin/platforms/win32.js.map +1 -1
  12. package/dist/bin/standalone.js +18 -7
  13. package/dist/bin/standalone.js.map +1 -1
  14. package/dist/core/auth/auth.controller.d.ts +2 -0
  15. package/dist/core/auth/auth.controller.js.map +1 -1
  16. package/dist/core/auth/auth.module.js +1 -1
  17. package/dist/core/auth/auth.module.js.map +1 -1
  18. package/dist/core/auth/auth.service.js +10 -10
  19. package/dist/core/auth/auth.service.js.map +1 -1
  20. package/dist/core/auth/jwt.strategy.d.ts +3 -1
  21. package/dist/core/config/config.service.d.ts +3 -0
  22. package/dist/core/config/config.service.js +2 -1
  23. package/dist/core/config/config.service.js.map +1 -1
  24. package/dist/core/config/config.startup.js +2 -2
  25. package/dist/core/config/config.startup.js.map +1 -1
  26. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
  27. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  28. package/dist/index.js +25 -14
  29. package/dist/index.js.map +1 -1
  30. package/dist/main.js +1 -1
  31. package/dist/main.js.map +1 -1
  32. package/dist/modules/accessories/accessories.controller.js +5 -5
  33. package/dist/modules/accessories/accessories.controller.js.map +1 -1
  34. package/dist/modules/accessories/accessories.service.js +7 -6
  35. package/dist/modules/accessories/accessories.service.js.map +1 -1
  36. package/dist/modules/backup/backup.controller.js +7 -7
  37. package/dist/modules/backup/backup.controller.js.map +1 -1
  38. package/dist/modules/backup/backup.service.js +17 -17
  39. package/dist/modules/backup/backup.service.js.map +1 -1
  40. package/dist/modules/child-bridges/child-bridges.service.js +3 -3
  41. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
  42. package/dist/modules/config-editor/config-editor.controller.d.ts +1 -1
  43. package/dist/modules/config-editor/config-editor.controller.js +8 -8
  44. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  45. package/dist/modules/config-editor/config-editor.service.d.ts +1 -1
  46. package/dist/modules/config-editor/config-editor.service.js +6 -6
  47. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  48. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +11 -9
  49. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  50. package/dist/modules/log/log.service.js +3 -3
  51. package/dist/modules/log/log.service.js.map +1 -1
  52. package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
  53. package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
  54. package/dist/modules/platform-tools/docker/docker.service.js +1 -1
  55. package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
  56. package/dist/modules/platform-tools/hb-service/hb-service.controller.js +2 -2
  57. package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
  58. package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
  59. package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
  60. package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
  61. package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
  62. package/dist/modules/platform-tools/linux/linux.service.js +2 -2
  63. package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
  64. package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
  65. package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
  66. package/dist/modules/plugins/plugins.controller.js +4 -4
  67. package/dist/modules/plugins/plugins.controller.js.map +1 -1
  68. package/dist/modules/plugins/plugins.service.d.ts +3 -1
  69. package/dist/modules/plugins/plugins.service.js +122 -66
  70. package/dist/modules/plugins/plugins.service.js.map +1 -1
  71. package/dist/modules/server/server.controller.d.ts +22 -2
  72. package/dist/modules/server/server.controller.js +96 -18
  73. package/dist/modules/server/server.controller.js.map +1 -1
  74. package/dist/modules/server/server.service.d.ts +24 -6
  75. package/dist/modules/server/server.service.js +186 -59
  76. package/dist/modules/server/server.service.js.map +1 -1
  77. package/dist/modules/status/status.controller.js +3 -3
  78. package/dist/modules/status/status.controller.js.map +1 -1
  79. package/dist/modules/status/status.gateway.d.ts +1 -0
  80. package/dist/modules/status/status.service.d.ts +1 -0
  81. package/dist/modules/status/status.service.js +5 -4
  82. package/dist/modules/status/status.service.js.map +1 -1
  83. package/dist/modules/users/users.controller.js +7 -7
  84. package/dist/modules/users/users.controller.js.map +1 -1
  85. package/dist/self-check.js +6 -6
  86. package/dist/self-check.js.map +1 -1
  87. package/package.json +38 -37
  88. package/public/3rdpartylicenses.txt +87 -61
  89. package/public/assets/hap-icons/airpurifier.svg +49 -16
  90. package/public/assets/hap-icons/airquality.svg +24 -13
  91. package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
  92. package/public/assets/hap-icons/contactsensor-open.svg +80 -2
  93. package/public/assets/hap-icons/door-closed.svg +32 -2
  94. package/public/assets/hap-icons/door-open.svg +48 -2
  95. package/public/assets/hap-icons/fan-off.svg +24 -13
  96. package/public/assets/hap-icons/fan-on.svg +24 -13
  97. package/public/assets/hap-icons/garagedoor.svg +24 -13
  98. package/public/assets/hap-icons/humidity.svg +24 -13
  99. package/public/assets/hap-icons/irrigation-system.svg +47 -18
  100. package/public/assets/hap-icons/leaksensor.svg +52 -2
  101. package/public/assets/hap-icons/light.svg +47 -28
  102. package/public/assets/hap-icons/lightbulb.svg +24 -13
  103. package/public/assets/hap-icons/lock-locked.svg +24 -13
  104. package/public/assets/hap-icons/lock-unlocked.svg +24 -13
  105. package/public/assets/hap-icons/motionsensor.svg +100 -2
  106. package/public/assets/hap-icons/occupancysensor.svg +97 -2
  107. package/public/assets/hap-icons/outlet.svg +24 -13
  108. package/public/assets/hap-icons/securitysystem-active.svg +102 -2
  109. package/public/assets/hap-icons/securitysystem-off.svg +68 -2
  110. package/public/assets/hap-icons/smokesensor.svg +42 -9
  111. package/public/assets/hap-icons/speaker.svg +29 -13
  112. package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
  113. package/public/assets/hap-icons/switch.svg +24 -13
  114. package/public/assets/hap-icons/television.svg +15 -4
  115. package/public/assets/hap-icons/temperature.svg +24 -13
  116. package/public/assets/hap-icons/unknown.svg +24 -13
  117. package/public/assets/hap-icons/valve-generic.svg +27 -16
  118. package/public/assets/hap-icons/valve-irrigation.svg +37 -21
  119. package/public/assets/hap-icons/valve-showerhead.svg +52 -0
  120. package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
  121. package/public/assets/hap-icons/window-closed.svg +85 -2
  122. package/public/assets/hap-icons/window-open.svg +136 -2
  123. package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
  124. package/public/assets/hap-icons/windowcovering-open.svg +40 -44
  125. package/public/assets/homebridge-color-round.svg +36 -1
  126. package/public/assets/homebridge-logo.svg +11 -1
  127. package/public/assets/mask-icon.svg +5 -1
  128. package/public/chunk-22LXR72U.js +1 -0
  129. package/public/chunk-24YYWTRL.js +1 -0
  130. package/public/{chunk-WHJOLAED.js → chunk-2ARSC6O4.js} +1 -1
  131. package/public/{chunk-WNWWUCCZ.js → chunk-2BBAYFXG.js} +1 -1
  132. package/public/chunk-2C47ZQVM.js +1 -0
  133. package/public/{chunk-WHJSVGC7.js → chunk-2MYACURS.js} +1 -1
  134. package/public/chunk-2YUMZBL4.js +1 -0
  135. package/public/chunk-3NKJ3SC7.js +1 -0
  136. package/public/chunk-43L3TNTW.js +1 -0
  137. package/public/chunk-53FTBKZ2.js +1 -0
  138. package/public/{chunk-JZZQRLNW.js → chunk-5CH326YZ.js} +1 -1
  139. package/public/chunk-5GFLORE5.js +1 -0
  140. package/public/chunk-5OAVLMJB.js +1 -0
  141. package/public/chunk-5WUQGBGI.js +1 -0
  142. package/public/chunk-6JTL5YGX.js +1 -0
  143. package/public/chunk-7J7D4RFK.js +1 -0
  144. package/public/chunk-APMJGFUJ.js +20 -0
  145. package/public/chunk-ATVAKJWD.js +5 -0
  146. package/public/chunk-BFQLKNRB.js +1 -0
  147. package/public/chunk-CDK2Y3HN.js +1 -0
  148. package/public/chunk-DMUYZZHA.js +1 -0
  149. package/public/chunk-EIVXZQQB.js +1 -0
  150. package/public/chunk-F2OXJSVI.js +1 -0
  151. package/public/chunk-FDTEDMBO.js +1 -0
  152. package/public/{chunk-NW6AFAD7.js → chunk-FFBZNIV4.js} +1 -1
  153. package/public/{chunk-QE7DO6J3.js → chunk-FLTVAPLJ.js} +2 -2
  154. package/public/chunk-FTWFQIC5.js +6 -0
  155. package/public/chunk-GIEK6ZPY.js +1 -0
  156. package/public/chunk-GMTWFNWL.js +1 -0
  157. package/public/{chunk-BKUGARB4.js → chunk-GOHZ4DC4.js} +1 -1
  158. package/public/{chunk-EA5J2VEJ.js → chunk-GQS3624Y.js} +1 -1
  159. package/public/chunk-GVN26UPS.js +14 -0
  160. package/public/chunk-HDTFYFAK.js +1 -0
  161. package/public/chunk-HTW35OKT.js +1 -0
  162. package/public/chunk-HW5YYVEW.js +8 -0
  163. package/public/chunk-I7ZMPJ2B.js +1 -0
  164. package/public/chunk-IGMEVBSL.js +1 -0
  165. package/public/chunk-IMLHPIUY.js +1 -0
  166. package/public/chunk-JB6YXEOR.js +1 -0
  167. package/public/chunk-JBCLW2TT.js +1 -0
  168. package/public/chunk-JD2QWCRM.js +1 -0
  169. package/public/{chunk-MK5BZOUV.js → chunk-JR5AGWSF.js} +2 -2
  170. package/public/chunk-JZMQ5FID.js +1 -0
  171. package/public/{chunk-76SU4XMO.js → chunk-K2NHKGRS.js} +1 -1
  172. package/public/chunk-K6CN42MS.js +32 -0
  173. package/public/chunk-KDDAEYUJ.js +1 -0
  174. package/public/chunk-LIHH33QD.js +1 -0
  175. package/public/chunk-LUDY7ZDU.js +1 -0
  176. package/public/chunk-M7C65DLI.js +1 -0
  177. package/public/chunk-N4DQEZFE.js +1 -0
  178. package/public/chunk-N4QHVBNS.js +1 -0
  179. package/public/chunk-NQOQC6SC.js +1 -0
  180. package/public/{chunk-VAW3X7MD.js → chunk-NSH2TVLK.js} +5 -5
  181. package/public/chunk-NSL7MXSS.js +1 -0
  182. package/public/chunk-NZL2QIFO.js +2 -0
  183. package/public/chunk-O22A7NB6.js +1 -0
  184. package/public/chunk-OSTOAYDG.js +1 -0
  185. package/public/chunk-PYUYYML6.js +1 -0
  186. package/public/chunk-QAQJWSYT.js +1 -0
  187. package/public/chunk-R4PTSPJZ.js +1 -0
  188. package/public/chunk-SBXSQEJF.js +1 -0
  189. package/public/chunk-SHXXYX7C.js +1 -0
  190. package/public/chunk-SM4YBIEF.js +1 -0
  191. package/public/chunk-SSMNJVEP.js +1 -0
  192. package/public/chunk-T7TLJFTD.js +1 -0
  193. package/public/chunk-T7WHHJXM.js +1 -0
  194. package/public/chunk-TCXBW2AO.js +1 -0
  195. package/public/chunk-TFB2BTYE.js +1 -0
  196. package/public/{chunk-7EUQWCP5.js → chunk-UFFY2L3W.js} +1 -1
  197. package/public/chunk-UG2IE2BJ.js +1 -0
  198. package/public/{chunk-6TCHCTXZ.js → chunk-V5R6RQCC.js} +1 -1
  199. package/public/chunk-VF3FSEOJ.js +1 -0
  200. package/public/chunk-VFNCXSYS.js +1 -0
  201. package/public/chunk-VHPBI74N.js +1 -0
  202. package/public/chunk-VRNVEPFN.js +7 -0
  203. package/public/chunk-VVVHE3PT.js +1 -0
  204. package/public/chunk-W2YFOD35.js +1 -0
  205. package/public/{chunk-OE6MK722.js → chunk-WAHBXBRJ.js} +1 -1
  206. package/public/chunk-WBTQONWJ.js +5 -0
  207. package/public/chunk-WGDOZLDI.js +1 -0
  208. package/public/chunk-X22DW5U5.js +1 -0
  209. package/public/{chunk-CCUID66K.js → chunk-ZDFTIT3A.js} +1 -1
  210. package/public/{chunk-CGQI6VDR.js → chunk-ZPJGN6MQ.js} +1 -1
  211. package/public/index.html +2 -2
  212. package/public/main-QWL6TNWH.js +1 -0
  213. package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
  214. package/public/media/{fa-brands-400-KOKGDU7E.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
  215. package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
  216. package/public/media/{fa-regular-400-IPMAEX5Y.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
  217. package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
  218. package/public/media/{fa-solid-900-SRFFQLRM.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
  219. package/public/styles-5ZGAUY5X.css +1 -0
  220. package/scripts/upgrade-install-plugin.sh +1 -1
  221. package/public/chunk-2FJGS2P4.js +0 -1
  222. package/public/chunk-2PVYUZMG.js +0 -1
  223. package/public/chunk-2VTFU3NZ.js +0 -6
  224. package/public/chunk-3FUV2YFB.js +0 -1
  225. package/public/chunk-3IX3CLER.js +0 -1
  226. package/public/chunk-43QJK3CH.js +0 -1
  227. package/public/chunk-4AYTHKYE.js +0 -1
  228. package/public/chunk-4JQFZGIU.js +0 -1
  229. package/public/chunk-5L7KCDO7.js +0 -1
  230. package/public/chunk-5SGGTYVP.js +0 -1
  231. package/public/chunk-64I555F6.js +0 -1
  232. package/public/chunk-6F552PS2.js +0 -14
  233. package/public/chunk-6GDRRHLT.js +0 -1
  234. package/public/chunk-7C3EOONK.js +0 -1
  235. package/public/chunk-7I2U653A.js +0 -1
  236. package/public/chunk-A6RDT6EE.js +0 -32
  237. package/public/chunk-ACHJ26XR.js +0 -1
  238. package/public/chunk-AMGSXBKP.js +0 -1
  239. package/public/chunk-AX2NKG76.js +0 -1
  240. package/public/chunk-BPMSJ2VF.js +0 -1
  241. package/public/chunk-CDC5JJGR.js +0 -5
  242. package/public/chunk-CNIFYHFS.js +0 -1
  243. package/public/chunk-DPHWZNEL.js +0 -1
  244. package/public/chunk-DXCU4YH5.js +0 -1
  245. package/public/chunk-ENTRCZRC.js +0 -1
  246. package/public/chunk-F3LCRXOB.js +0 -1
  247. package/public/chunk-FUOZMXIE.js +0 -1
  248. package/public/chunk-GNMMNSKZ.js +0 -1
  249. package/public/chunk-GONTC5RL.js +0 -1
  250. package/public/chunk-HC4ULUF5.js +0 -1
  251. package/public/chunk-HSJSWZHD.js +0 -1
  252. package/public/chunk-JAM2DL6O.js +0 -1
  253. package/public/chunk-JLUPHWBK.js +0 -1
  254. package/public/chunk-KQJ7ONUG.js +0 -1
  255. package/public/chunk-LAAC3HKW.js +0 -1
  256. package/public/chunk-MOTRKWPN.js +0 -1
  257. package/public/chunk-N3JMUDBI.js +0 -1
  258. package/public/chunk-NZNNTHFQ.js +0 -1
  259. package/public/chunk-ODPNK7TG.js +0 -1
  260. package/public/chunk-ORPWYWCL.js +0 -5
  261. package/public/chunk-OURFK6JB.js +0 -1
  262. package/public/chunk-PEPJOU6R.js +0 -1
  263. package/public/chunk-PWJLSQWP.js +0 -8
  264. package/public/chunk-QHPDGSZ6.js +0 -1
  265. package/public/chunk-RFBKWUOP.js +0 -20
  266. package/public/chunk-S22XAG5G.js +0 -1
  267. package/public/chunk-S23B67SO.js +0 -1
  268. package/public/chunk-S3ABXPGO.js +0 -1
  269. package/public/chunk-SUCUQYZ3.js +0 -1
  270. package/public/chunk-TCSXGQNF.js +0 -1
  271. package/public/chunk-TXOB7R5K.js +0 -7
  272. package/public/chunk-U4TY4QYN.js +0 -1
  273. package/public/chunk-UG5DK2RQ.js +0 -2
  274. package/public/chunk-UNXETFMR.js +0 -1
  275. package/public/chunk-VF4E7Q42.js +0 -1
  276. package/public/chunk-VOPS522V.js +0 -1
  277. package/public/chunk-VVFRD7PI.js +0 -1
  278. package/public/chunk-WWTMEHKF.js +0 -1
  279. package/public/chunk-X6HR3FKR.js +0 -1
  280. package/public/chunk-Y6NAMXTD.js +0 -1
  281. package/public/chunk-YAOIYDRH.js +0 -1
  282. package/public/chunk-ZOOTYXXF.js +0 -1
  283. package/public/chunk-ZT23DWNL.js +0 -1
  284. package/public/chunk-ZTCVXHR7.js +0 -1
  285. package/public/chunk-ZUBSOVIF.js +0 -1
  286. package/public/main-XXZ7MAPQ.js +0 -1
  287. package/public/media/01-RQ3S2L53.png +0 -0
  288. package/public/media/02-VNCG2I2A.png +0 -0
  289. package/public/media/03-HI42L4ZG.png +0 -0
  290. package/public/media/04-FJLL55LZ.png +0 -0
  291. package/public/media/05-V3EO6SPT.png +0 -0
  292. package/public/media/06-EOJZCQZN.png +0 -0
  293. package/public/media/07-KMKB5PBD.png +0 -0
  294. package/public/media/08-UQJRF6B2.png +0 -0
  295. package/public/media/09-2DJQFRHH.png +0 -0
  296. package/public/media/arrow_left-CQT7FZM7.svg +0 -4
  297. package/public/media/arrow_right-SBUDRR2G.svg +0 -4
  298. package/public/media/fa-brands-400-6PJPV6JM.woff2 +0 -0
  299. package/public/media/fa-regular-400-OHB6J4OK.woff2 +0 -0
  300. package/public/media/fa-solid-900-ABTK6BNK.woff2 +0 -0
  301. package/public/scripts-6GVLYD7F.js +0 -62
  302. package/public/styles-EG5MFQEM.css +0 -1
@@ -0,0 +1 @@
1
+ import{e as dt,m as pt}from"./chunk-NZL2QIFO.js";import{Da as z,Ib as k,Ja as O,Jb as E,Kb as l,Lb as F,Nb as p,Rc as K,Ub as h,Vb as m,Wb as j,Xb as q,Yb as G,_b as U,a as u,ac as ht,b as T,bb as lt,bc as R,bd as Q,cb as L,cc as c,e as It,ga as C,gb as r,ha as ot,hb as v,ja as rt,la as w,lb as ct,ma as _,mc as f,n as g,na as at,oc as y,sb as Z,tb as ut,ua as $,va as V,za as H,zb as S}from"./chunk-VRNVEPFN.js";var Tt=It((fe,qt)=>{qt.exports={name:"homebridge-config-ui-x",displayName:"Homebridge UI",version:"5.0.0-beta.41",description:"A web based management, configuration and control platform for Homebridge.",author:"oznu <dev@oz.nu>",license:"MIT",funding:[{type:"github",url:"https://github.com/sponsors/oznu"},{type:"paypal",url:"https://paypal.me/oznu"}],repository:{type:"git",url:"git+https://github.com/homebridge/homebridge-config-ui-x.git"},bugs:{url:"https://github.com/homebridge/homebridge-config-ui-x/issues"},keywords:["homebridge-plugin","ui","gui","web","homebridge","homebridge-config-ui-x","ui-x","config-ui-x","homebridge-x","homebridge server","homebridge ui","homebridge-ui","homebridge gui","homebridge-gui","web interface","config ui","management","config editor","linux","macOS","osx","windows","raspberry pi","accessory control","smart home","hb-service"],main:"./dist/index.js",bin:{"homebridge-config-ui-x":"dist/bin/standalone.js","hb-service":"dist/bin/hb-service.js"},engines:{node:"^20 || ^22",homebridge:"^1.8.0 || ^2.0.0-beta.0"},scripts:{build:"npm run build:server && npm run build:ui","build:server":"rimraf dist && tsc -p tsconfig.build.json","build:ui":"npm run build --prefix ui",check:"npm run check:server && npm run check:ui","check:server":"npm install && npm outdated","check:ui":"npm install --prefix ui && npm outdated --prefix ui","lang-sync":"ts-node scripts/lang-sync.ts",lint:"eslint . --max-warnings=0","lint:fix":"npm run lint -- --fix",prepublishOnly:"npm i --package-lock-only && npm run lint && npm run build",start:"ts-node -r tsconfig-paths/register src/main.ts",test:"vitest run","test-coverage":"npm run test -- --coverage","upgrade-install":"./scripts/upgrade-install.sh",watch:'concurrently "npm run watch:ui" "npm run watch:server"',"watch:server":"nodemon","watch:ui":"npm run start --prefix ui"},dependencies:{"@fastify/helmet":"13.0.1","@fastify/multipart":"9.0.3","@fastify/static":"8.0.4","@homebridge/hap-client":"2.0.5","@homebridge/node-pty-prebuilt-multiarch":"0.12.0-beta.5","@nestjs/axios":"4.0.0","@nestjs/common":"11.0.5","@nestjs/core":"11.0.5","@nestjs/jwt":"11.0.0","@nestjs/passport":"11.0.5","@nestjs/platform-fastify":"11.0.5","@nestjs/platform-socket.io":"11.0.5","@nestjs/swagger":"11.0.3","@nestjs/websockets":"11.0.5",axios:"1.7.9","bash-color":"0.0.4","class-transformer":"0.5.1","class-validator":"0.14.1",commander:"13.1.0",dayjs:"1.11.13",fastify:"5.2.1","fs-extra":"11.3.0",jsonwebtoken:"9.0.2",lodash:"4.17.21","node-cache":"5.1.2","node-schedule":"2.1.1",ora:"5.4.1",otplib:"12.0.1","p-limit":"3.1.0",passport:"0.7.0","passport-jwt":"4.0.1",rxjs:"7.8.1",semver:"7.6.3",systeminformation:"5.25.11",tail:"2.2.6",tar:"7.4.3","tcp-port-used":"1.0.2",unzipper:"0.12.3"},devDependencies:{"@antfu/eslint-config":"^3.16.0","@nestjs/testing":"^11.0.5","@prettier/plugin-xml":"^3.4.1","@types/fs-extra":"^11.0.4","@types/lodash":"^4.17.14","@types/node":"^22.10.10","@types/node-schedule":"^2.1.7","@types/passport-jwt":"^4.0.1","@types/semver":"^7.5.8","@types/tail":"^2.2.3","@types/tcp-port-used":"^1.0.4","@types/unzipper":"^0.10.10","@vitest/coverage-v8":"^3.0.4",concurrently:"^9.1.2","eslint-plugin-format":"^1.0.1","form-data":"^4.0.1",nodemon:"^3.1.9",rimraf:"^6.0.1","ts-loader":"^9.5.2","ts-node":"^10.9.2","tsconfig-paths":"^4.2.0",typescript:"^5.7.3","unplugin-swc":"^1.5.1",vitest:"^3.0.4"},maintainers:[{email:"bwp91@icloud.com",name:"bwp91"},{email:"dev@oz.nu",name:"oznu"},{email:"northern.man1@gmail.com",name:"northernman"},{email:"mail@anderl-bauer.de",name:"supereg"},{email:"khaos.tian@gmail.com",name:"khaost"},{email:"erik.baauw@xs4all.nl",name:"ebaauw"},{email:"donavan.becker@icloud.com",name:"donavanbecker"},{email:"dustin.greif@gmail.com",name:"dustin.greif"},{email:"nfarina@gmail.com",name:"nfarina"}],scarfSettings:{enabled:!1}}});var b=function(i){return i[i.State=0]="State",i[i.Transition=1]="Transition",i[i.Sequence=2]="Sequence",i[i.Group=3]="Group",i[i.Animate=4]="Animate",i[i.Keyframes=5]="Keyframes",i[i.Style=6]="Style",i[i.Trigger=7]="Trigger",i[i.Reference=8]="Reference",i[i.AnimateChild=9]="AnimateChild",i[i.AnimateRef=10]="AnimateRef",i[i.Query=11]="Query",i[i.Stagger=12]="Stagger",i}(b||{}),Gt="*";function gt(i,s){return{type:b.Trigger,name:i,definitions:s,options:{}}}function Y(i,s=null){return{type:b.Animate,styles:s,timings:i}}function Ut(i,s=null){return{type:b.Sequence,steps:i,options:s}}function N(i){return{type:b.Style,styles:i,offset:null}}function M(i,s,t){return{type:b.State,name:i,styles:s,options:t}}function J(i,s,t=null){return{type:b.Transition,expr:i,animation:s,options:t}}var mt=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(s=0,t=0){this.totalTime=s+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(s=>s()),this._onDoneFns=[])}onStart(s){this._originalOnStartFns.push(s),this._onStartFns.push(s)}onDone(s){this._originalOnDoneFns.push(s),this._onDoneFns.push(s)}onDestroy(s){this._onDestroyFns.push(s)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(s=>s()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(s=>s()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(s){this._position=this.totalTime?s*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(s){let t=s=="start"?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}},ft=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(s){this.players=s;let t=0,e=0,n=0,o=this.players.length;o==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++t==o&&this._onFinish()}),a.onDestroy(()=>{++e==o&&this._onDestroy()}),a.onStart(()=>{++n==o&&this._onStart()})}),this.totalTime=this.players.reduce((a,d)=>Math.max(a,d.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(s=>s()),this._onDoneFns=[])}init(){this.players.forEach(s=>s.init())}onStart(s){this._onStartFns.push(s)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(s=>s()),this._onStartFns=[])}onDone(s){this._onDoneFns.push(s)}onDestroy(s){this._onDestroyFns.push(s)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(s=>s.play())}pause(){this.players.forEach(s=>s.pause())}restart(){this.players.forEach(s=>s.restart())}finish(){this._onFinish(),this.players.forEach(s=>s.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(s=>s.destroy()),this._onDestroyFns.forEach(s=>s()),this._onDestroyFns=[])}reset(){this.players.forEach(s=>s.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(s){let t=s*this.totalTime;this.players.forEach(e=>{let n=e.totalTime?Math.min(1,t/e.totalTime):1;e.setPosition(n)})}getPosition(){let s=this.players.reduce((t,e)=>t===null||e.totalTime>t.totalTime?e:t,null);return s!=null?s.getPosition():0}beforeDestroy(){this.players.forEach(s=>{s.beforeDestroy&&s.beforeDestroy()})}triggerCallback(s){let t=s=="start"?this._onStartFns:this._onDoneFns;t.forEach(e=>e()),t.length=0}},Kt="!";var _t=["toast-component",""];function Ot(i,s){if(i&1){let t=U();h(0,"button",5),R("click",function(){$(t);let n=c();return V(n.remove())}),h(1,"span",6),f(2,"\xD7"),m()()}}function St(i,s){if(i&1&&(q(0),f(1),G()),i&2){let t=c(2);r(),y("[",t.duplicatesCount+1,"]")}}function Et(i,s){if(i&1&&(h(0,"div"),f(1),S(2,St,2,1,"ng-container",4),m()),i&2){let t=c();p(t.options.titleClass),E("aria-label",t.title),r(),y(" ",t.title," "),r(),l("ngIf",t.duplicatesCount)}}function Ft(i,s){if(i&1&&j(0,"div",7),i&2){let t=c();p(t.options.messageClass),l("innerHTML",t.message,L)}}function jt(i,s){if(i&1&&(h(0,"div",8),f(1),m()),i&2){let t=c();p(t.options.messageClass),E("aria-label",t.message),r(),y(" ",t.message," ")}}function Rt(i,s){if(i&1&&(h(0,"div"),j(1,"div",9),m()),i&2){let t=c();r(),F("width",t.width()+"%")}}function At(i,s){if(i&1){let t=U();h(0,"button",5),R("click",function(){$(t);let n=c();return V(n.remove())}),h(1,"span",6),f(2,"\xD7"),m()()}}function Ht(i,s){if(i&1&&(q(0),f(1),G()),i&2){let t=c(2);r(),y("[",t.duplicatesCount+1,"]")}}function kt(i,s){if(i&1&&(h(0,"div"),f(1),S(2,Ht,2,1,"ng-container",4),m()),i&2){let t=c();p(t.options.titleClass),E("aria-label",t.title),r(),y(" ",t.title," "),r(),l("ngIf",t.duplicatesCount)}}function Nt(i,s){if(i&1&&j(0,"div",7),i&2){let t=c();p(t.options.messageClass),l("innerHTML",t.message,L)}}function Mt(i,s){if(i&1&&(h(0,"div",8),f(1),m()),i&2){let t=c();p(t.options.messageClass),E("aria-label",t.message),r(),y(" ",t.message," ")}}function Pt(i,s){if(i&1&&(h(0,"div"),j(1,"div",9),m()),i&2){let t=c();r(),F("width",t.width()+"%")}}var W=class{_attachedHost;component;viewContainerRef;injector;constructor(s,t){this.component=s,this.injector=t}attach(s,t){return this._attachedHost=s,s.attach(this,t)}detach(){let s=this._attachedHost;if(s)return this._attachedHost=void 0,s.detach()}get isAttached(){return this._attachedHost!=null}setAttachedHost(s){this._attachedHost=s}},X=class{_attachedPortal;_disposeFn;attach(s,t){return this._attachedPortal=s,this.attachComponentPortal(s,t)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(s){this._disposeFn=s}},tt=class{_overlayRef;componentInstance;duplicatesCount=0;_afterClosed=new g;_activate=new g;_manualClose=new g;_resetTimeout=new g;_countDuplicate=new g;constructor(s){this._overlayRef=s}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(s,t){s&&this._resetTimeout.next(),t&&this._countDuplicate.next(++this.duplicatesCount)}},D=class{toastId;config;message;title;toastType;toastRef;_onTap=new g;_onAction=new g;constructor(s,t,e,n,o,a){this.toastId=s,this.config=t,this.message=e,this.title=n,this.toastType=o,this.toastRef=a,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(s){this._onAction.next(s)}onAction(){return this._onAction.asObservable()}},vt={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing"},yt=new rt("ToastConfig"),et=class extends X{_hostDomElement;_componentFactoryResolver;_appRef;constructor(s,t,e){super(),this._hostDomElement=s,this._componentFactoryResolver=t,this._appRef=e}attachComponentPortal(s,t){let e=this._componentFactoryResolver.resolveComponentFactory(s.component),n;return n=e.create(s.injector),this._appRef.attachView(n.hostView),this.setDisposeFn(()=>{this._appRef.detachView(n.hostView),n.destroy()}),t?this._hostDomElement.insertBefore(this._getComponentRootNode(n),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(n)),n}_getComponentRootNode(s){return s.hostView.rootNodes[0]}},Bt=(()=>{class i{_document=_(K);_containerElement;ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let t=this._document.createElement("div");t.classList.add("overlay-container"),t.setAttribute("aria-live","polite"),this._document.body.appendChild(t),this._containerElement=t}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),it=class{_portalHost;constructor(s){this._portalHost=s}attach(s,t=!0){return this._portalHost.attach(s,t)}detach(){return this._portalHost.detach()}},$t=(()=>{class i{_overlayContainer=_(Bt);_componentFactoryResolver=_(ct);_appRef=_(k);_document=_(K);_paneElements=new Map;create(t,e){return this._createOverlayRef(this.getPaneElement(t,e))}getPaneElement(t="",e){return this._paneElements.get(e)||this._paneElements.set(e,{}),this._paneElements.get(e)[t]||(this._paneElements.get(e)[t]=this._createPaneElement(t,e)),this._paneElements.get(e)[t]}_createPaneElement(t,e){let n=this._document.createElement("div");return n.id="toast-container",n.classList.add(t),n.classList.add("toast-container"),e?e.getContainerElement().appendChild(n):this._overlayContainer.getContainerElement().appendChild(n),n}_createPortalHost(t){return new et(t,this._componentFactoryResolver,this._appRef)}_createOverlayRef(t){return new it(this._createPortalHost(t))}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),bt=(()=>{class i{overlay;_injector;sanitizer;ngZone;toastrConfig;currentlyActive=0;toasts=[];overlayContainer;previousToastMessage;index=0;constructor(t,e,n,o,a){this.overlay=e,this._injector=n,this.sanitizer=o,this.ngZone=a,this.toastrConfig=u(u({},t.default),t.config),t.config.iconClasses&&(this.toastrConfig.iconClasses=u(u({},t.default.iconClasses),t.config.iconClasses))}show(t,e,n={},o=""){return this._preBuildNotification(o,t,e,this.applyConfig(n))}success(t,e,n={}){let o=this.toastrConfig.iconClasses.success||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}error(t,e,n={}){let o=this.toastrConfig.iconClasses.error||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}info(t,e,n={}){let o=this.toastrConfig.iconClasses.info||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}warning(t,e,n={}){let o=this.toastrConfig.iconClasses.warning||"";return this._preBuildNotification(o,t,e,this.applyConfig(n))}clear(t){for(let e of this.toasts)if(t!==void 0){if(e.toastId===t){e.toastRef.manualClose();return}}else e.toastRef.manualClose()}remove(t){let e=this._findToast(t);if(!e||(e.activeToast.toastRef.close(),this.toasts.splice(e.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActive<this.toastrConfig.maxOpened&&this.toasts[this.currentlyActive]){let n=this.toasts[this.currentlyActive].toastRef;n.isInactive()||(this.currentlyActive=this.currentlyActive+1,n.activate())}return!0}findDuplicate(t="",e="",n,o){let{includeTitleDuplicates:a}=this.toastrConfig;for(let d of this.toasts){let A=a&&d.title===t;if((!a||A)&&d.message===e)return d.toastRef.onDuplicate(n,o),d}return null}applyConfig(t={}){return u(u({},this.toastrConfig),t)}_findToast(t){for(let e=0;e<this.toasts.length;e++)if(this.toasts[e].toastId===t)return{index:e,activeToast:this.toasts[e]};return null}_preBuildNotification(t,e,n,o){return o.onActivateTick?this.ngZone.run(()=>this._buildNotification(t,e,n,o)):this._buildNotification(t,e,n,o)}_buildNotification(t,e,n,o){if(!o.toastComponent)throw new Error("toastComponent required");let a=this.findDuplicate(n,e,this.toastrConfig.resetTimeoutOnDuplicate&&o.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&n||e)&&this.toastrConfig.preventDuplicates&&a!==null)return a;this.previousToastMessage=e;let d=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&(d=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));let A=this.overlay.create(o.positionClass,this.overlayContainer);this.index=this.index+1;let st=e;e&&o.enableHtml&&(st=this.sanitizer.sanitize(lt.HTML,e));let x=new tt(A),P=new D(this.index,o,st,n,t,x),Ct=[{provide:D,useValue:P}],wt=H.create({providers:Ct,parent:this._injector}),Dt=new W(o.toastComponent,wt),nt=A.attach(Dt,o.newestOnTop);x.componentInstance=nt.instance;let B={toastId:this.index,title:n||"",message:e||"",toastRef:x,onShown:x.afterActivate(),onHidden:x.afterClosed(),onTap:P.onTap(),onAction:P.onAction(),portal:nt};return d||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{B.toastRef.activate()})),this.toasts.push(B),B}static \u0275fac=function(e){return new(e||i)(w(yt),w($t),w(H),w(pt),w(z))};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})(),Vt=(()=>{class i{toastrService;toastPackage;ngZone;message;title;options;duplicatesCount;originalTimeout;width=O(-1);toastClasses="";state;get _state(){return this.state()}get displayStyle(){if(this.state().value==="inactive")return"none"}timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.ngZone=n,this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o}),this.state=O({value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.update(t=>T(u({},t),{value:"active"})),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let t=new Date().getTime(),e=this.hideTime-t;this.width.set(e/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(n=>100-n),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.update(t=>T(u({},t),{value:"active"})),this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){this.state().value!=="removed"&&(clearTimeout(this.timeout),this.state.update(t=>T(u({},t),{value:"removed"})),this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){this.state().value!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state().value!=="removed"&&this.options.disableTimeOut!=="extendedTimeOut"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state().value==="removed"||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(t),e)):this.timeout=setTimeout(()=>t(),e)}outsideInterval(t,e){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(t),e)):this.intervalId=setInterval(()=>t(),e)}runInsideAngular(t){this.ngZone?this.ngZone.run(()=>t()):t()}static \u0275fac=function(e){return new(e||i)(v(bt),v(D),v(z))};static \u0275cmp=Z({type:i,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(e,n){e&1&&R("click",function(){return n.tapToast()})("mouseenter",function(){return n.stickAround()})("mouseleave",function(){return n.delayedHideToast()}),e&2&&(ht("@flyInOut",n._state),p(n.toastClasses),F("display",n.displayStyle))},attrs:_t,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(e,n){e&1&&S(0,Ot,3,0,"button",0)(1,Et,3,5,"div",1)(2,Ft,1,3,"div",2)(3,jt,2,4,"div",3)(4,Rt,2,2,"div",4),e&2&&(l("ngIf",n.options.closeButton),r(),l("ngIf",n.title),r(),l("ngIf",n.message&&n.options.enableHtml),r(),l("ngIf",n.message&&!n.options.enableHtml),r(),l("ngIf",n.options.progressBar))},dependencies:[Q],encapsulation:2,data:{animation:[gt("flyInOut",[M("inactive",N({opacity:0})),M("active",N({opacity:1})),M("removed",N({opacity:0})),J("inactive => active",Y("{{ easeTime }}ms {{ easing }}")),J("active => removed",Y("{{ easeTime }}ms {{ easing }}"))])]},changeDetection:0})}return i})(),zt=T(u({},vt),{toastComponent:Vt}),Lt=(i={})=>at([{provide:yt,useValue:{default:zt,config:i}}]),he=(()=>{class i{static forRoot(t={}){return{ngModule:i,providers:[Lt(t)]}}static \u0275fac=function(e){return new(e||i)};static \u0275mod=ut({type:i});static \u0275inj=ot({})}return i})();var Zt=(()=>{class i{toastrService;toastPackage;appRef;message;title;options;duplicatesCount;originalTimeout;width=O(-1);toastClasses="";get displayStyle(){return this.state()==="inactive"?"none":null}state=O("inactive");timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(t,e,n){this.toastrService=t,this.toastPackage=e,this.appRef=n,this.message=e.message,this.title=e.title,this.options=e.config,this.originalTimeout=e.config.timeOut,this.toastClasses=`${e.toastType} ${e.config.toastClass}`,this.sub=e.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=e.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=e.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=e.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.set("active"),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.timeout=setTimeout(()=>{this.remove()},this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))),this.options.onActivateTick&&this.appRef.tick()}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let t=new Date().getTime(),e=this.hideTime-t;this.width.set(e/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(n=>100-n),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.set("active"),this.options.timeOut=this.originalTimeout,this.timeout=setTimeout(()=>this.remove(),this.originalTimeout),this.hideTime=new Date().getTime()+(this.originalTimeout||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))}remove(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.state.set("removed"),this.timeout=setTimeout(()=>this.toastrService.remove(this.toastPackage.toastId)))}tapToast(){this.state()!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state()==="removed"||(this.timeout=setTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10)))}static \u0275fac=function(e){return new(e||i)(v(bt),v(D),v(k))};static \u0275cmp=Z({type:i,selectors:[["","toast-component",""]],hostVars:4,hostBindings:function(e,n){e&1&&R("click",function(){return n.tapToast()})("mouseenter",function(){return n.stickAround()})("mouseleave",function(){return n.delayedHideToast()}),e&2&&(p(n.toastClasses),F("display",n.displayStyle))},attrs:_t,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(e,n){e&1&&S(0,At,3,0,"button",0)(1,kt,3,5,"div",1)(2,Nt,1,3,"div",2)(3,Mt,2,4,"div",3)(4,Pt,2,2,"div",4),e&2&&(l("ngIf",n.options.closeButton),r(),l("ngIf",n.title),r(),l("ngIf",n.message&&n.options.enableHtml),r(),l("ngIf",n.message&&!n.options.enableHtml),r(),l("ngIf",n.options.progressBar))},dependencies:[Q],encapsulation:2,changeDetection:0})}return i})(),de=T(u({},vt),{toastComponent:Zt});var I={serverTarget:Tt().version,production:!0,socket:"",api:{base:"/api",socket:`${window.location.protocol==="http:"?"ws://":"wss://"}${window.location.host}`,origin:window.location.origin},jwt:{tokenKey:"access_token",allowedDomains:[document.location.host],disallowedRoutes:[`${window.location.protocol}//${document.location.host}/api/auth/login`]},apiHttpOptions:{},owm:{appid:"fec67b55f7f74deaa28df89ba6a60821"}};var Te=(()=>{class i{$http=_(dt);constructor(){}get(t,e){return this.$http.get(`${I.api.base}${t}`,e)}post(t,e,n){return this.$http.post(`${I.api.base}${t}`,e,n)}put(t,e,n){return this.$http.put(`${I.api.base}${t}`,e,n)}patch(t,e,n){return this.$http.patch(`${I.api.base}${t}`,e,n)}delete(t,e){return this.$http.delete(`${I.api.base}${t}`,e)}static \u0275fac=function(e){return new(e||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})}return i})();export{b as a,Gt as b,Ut as c,N as d,mt as e,ft as f,Kt as g,bt as h,he as i,I as j,Te as k};
@@ -0,0 +1 @@
1
+ import{a as f}from"./chunk-NSH2TVLK.js";import{a as s}from"./chunk-VVVHE3PT.js";import"./chunk-SM4YBIEF.js";import"./chunk-V5R6RQCC.js";import"./chunk-K6CN42MS.js";import"./chunk-GVN26UPS.js";import"./chunk-UFFY2L3W.js";import"./chunk-2BBAYFXG.js";import"./chunk-5CH326YZ.js";import"./chunk-HW5YYVEW.js";import"./chunk-ZDFTIT3A.js";import"./chunk-FLTVAPLJ.js";import"./chunk-PYUYYML6.js";import"./chunk-GOHZ4DC4.js";import"./chunk-53FTBKZ2.js";import"./chunk-2ARSC6O4.js";import"./chunk-JZMQ5FID.js";import{q as l}from"./chunk-WBTQONWJ.js";import{y as m,z as u}from"./chunk-SSMNJVEP.js";import"./chunk-WAHBXBRJ.js";import{g as e}from"./chunk-O22A7NB6.js";import"./chunk-K2NHKGRS.js";import"./chunk-I7ZMPJ2B.js";import"./chunk-WGDOZLDI.js";import"./chunk-NZL2QIFO.js";import{c as p}from"./chunk-T7WHHJXM.js";import{ha as t,id as n,tb as r}from"./chunk-VRNVEPFN.js";var g=[{path:"",loadComponent:()=>import("./chunk-NQOQC6SC.js").then(o=>o.PluginsComponent)}],d=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[e.forChild(g),e]})}return o})();var v=(()=>{class o{static \u0275fac=function(i){return new(i||o)};static \u0275mod=r({type:o});static \u0275inj=t({imports:[n,m,u,p.forChild(),l,f,d,s]})}return o})();export{v as PluginsModule};
@@ -1 +1 @@
1
- import{e as I}from"./chunk-TXOB7R5K.js";var j=I((k,m)=>{(function(g,l){typeof k=="object"&&typeof m=="object"?m.exports=l():typeof define=="function"&&define.amd?define([],l):typeof k=="object"?k.WebLinksAddon=l():g.WebLinksAddon=l()})(self,function(){return(()=>{"use strict";var g={6:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.LinkComputer=r.WebLinkProvider=void 0;var s=function(){function o(n,i,e,t){t===void 0&&(t={}),this._terminal=n,this._regex=i,this._handler=e,this._options=t}return o.prototype.provideLinks=function(n,i){var e=p.computeLink(n,this._regex,this._terminal,this._handler);i(this._addCallbacks(e))},o.prototype._addCallbacks=function(n){var i=this;return n.map(function(e){return e.leave=i._options.leave,e.hover=function(t,u){if(i._options.hover){var c=e.range;i._options.hover(t,u,c)}},e})},o}();r.WebLinkProvider=s;var p=function(){function o(){}return o.computeLink=function(n,i,e,t){for(var u,c=new RegExp(i.source,(i.flags||"")+"g"),_=o._translateBufferLineToStringWithWrap(n-1,!1,e),d=_[0],f=_[1],v=-1,w=[];(u=c.exec(d))!==null;){var h=u[1];if(!h){console.log("match found without corresponding matchIndex");break}if(v=d.indexOf(h,v+1),c.lastIndex=v+h.length,v<0)break;for(var b=v+h.length,y=f+1;b>e.cols;)b-=e.cols,y++;for(var L=v+1,P=f+1;L>e.cols;)L-=e.cols,P++;var M={start:{x:L,y:P},end:{x:b,y}};w.push({range:M,text:h,activate:t})}return w},o._translateBufferLineToStringWithWrap=function(n,i,e){var t,u,c="";do{if(!(d=e.buffer.active.getLine(n)))break;d.isWrapped&&n--,u=d.isWrapped}while(u);var _=n;do{var d,f=e.buffer.active.getLine(n+1);if(t=!!f&&f.isWrapped,!(d=e.buffer.active.getLine(n)))break;c+=d.translateToString(!t&&i).substring(0,e.cols),n++}while(t);return[c,_]},o}();r.LinkComputer=p}},l={};function x(a){var r=l[a];if(r!==void 0)return r.exports;var s=l[a]={exports:{}};return g[a](s,s.exports,x),s.exports}var W={};return(()=>{var a=W;Object.defineProperty(a,"__esModule",{value:!0}),a.WebLinksAddon=void 0;var r=x(6),s=new RegExp(`(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,18}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?((\\/[\\/\\w\\.\\-%~:+@]*)*([^:"'\\s]))?(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)`);function p(n,i){var e=window.open();if(e){try{e.opener=null}catch{}e.location.href=i}else console.warn("Opening link blocked as opener could not be cleared")}var o=function(){function n(i,e,t){i===void 0&&(i=p),e===void 0&&(e={}),t===void 0&&(t=!1),this._handler=i,this._options=e,this._useLinkProvider=t}return n.prototype.activate=function(i){if(this._terminal=i,this._useLinkProvider&&"registerLinkProvider"in this._terminal){var e=(t=this._options).urlRegex||s;this._linkProvider=this._terminal.registerLinkProvider(new r.WebLinkProvider(this._terminal,e,this._handler,t))}else{var t;(t=this._options).matchIndex=1,this._linkMatcherId=this._terminal.registerLinkMatcher(s,this._handler,t)}},n.prototype.dispose=function(){var i;this._linkMatcherId!==void 0&&this._terminal!==void 0&&this._terminal.deregisterLinkMatcher(this._linkMatcherId),(i=this._linkProvider)===null||i===void 0||i.dispose()},n}();a.WebLinksAddon=o})(),W})()})});export{j as a};
1
+ import{e as I}from"./chunk-VRNVEPFN.js";var j=I((k,m)=>{(function(g,l){typeof k=="object"&&typeof m=="object"?m.exports=l():typeof define=="function"&&define.amd?define([],l):typeof k=="object"?k.WebLinksAddon=l():g.WebLinksAddon=l()})(self,function(){return(()=>{"use strict";var g={6:(a,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.LinkComputer=r.WebLinkProvider=void 0;var s=function(){function o(n,i,e,t){t===void 0&&(t={}),this._terminal=n,this._regex=i,this._handler=e,this._options=t}return o.prototype.provideLinks=function(n,i){var e=p.computeLink(n,this._regex,this._terminal,this._handler);i(this._addCallbacks(e))},o.prototype._addCallbacks=function(n){var i=this;return n.map(function(e){return e.leave=i._options.leave,e.hover=function(t,u){if(i._options.hover){var c=e.range;i._options.hover(t,u,c)}},e})},o}();r.WebLinkProvider=s;var p=function(){function o(){}return o.computeLink=function(n,i,e,t){for(var u,c=new RegExp(i.source,(i.flags||"")+"g"),_=o._translateBufferLineToStringWithWrap(n-1,!1,e),d=_[0],f=_[1],v=-1,w=[];(u=c.exec(d))!==null;){var h=u[1];if(!h){console.log("match found without corresponding matchIndex");break}if(v=d.indexOf(h,v+1),c.lastIndex=v+h.length,v<0)break;for(var b=v+h.length,y=f+1;b>e.cols;)b-=e.cols,y++;for(var L=v+1,P=f+1;L>e.cols;)L-=e.cols,P++;var M={start:{x:L,y:P},end:{x:b,y}};w.push({range:M,text:h,activate:t})}return w},o._translateBufferLineToStringWithWrap=function(n,i,e){var t,u,c="";do{if(!(d=e.buffer.active.getLine(n)))break;d.isWrapped&&n--,u=d.isWrapped}while(u);var _=n;do{var d,f=e.buffer.active.getLine(n+1);if(t=!!f&&f.isWrapped,!(d=e.buffer.active.getLine(n)))break;c+=d.translateToString(!t&&i).substring(0,e.cols),n++}while(t);return[c,_]},o}();r.LinkComputer=p}},l={};function x(a){var r=l[a];if(r!==void 0)return r.exports;var s=l[a]={exports:{}};return g[a](s,s.exports,x),s.exports}var W={};return(()=>{var a=W;Object.defineProperty(a,"__esModule",{value:!0}),a.WebLinksAddon=void 0;var r=x(6),s=new RegExp(`(?:^|[^\\da-z\\.-]+)((https?:\\/\\/)((([\\da-z\\.-]+)\\.([a-z\\.]{2,18}))|((\\d{1,3}\\.){3}\\d{1,3})|(localhost))(:\\d{1,5})?((\\/[\\/\\w\\.\\-%~:+@]*)*([^:"'\\s]))?(\\?[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?(#[0-9\\w\\[\\]\\(\\)\\/\\?\\!#@$%&'*+,:;~\\=\\.\\-]*)?)($|[^\\/\\w\\.\\-%]+)`);function p(n,i){var e=window.open();if(e){try{e.opener=null}catch{}e.location.href=i}else console.warn("Opening link blocked as opener could not be cleared")}var o=function(){function n(i,e,t){i===void 0&&(i=p),e===void 0&&(e={}),t===void 0&&(t=!1),this._handler=i,this._options=e,this._useLinkProvider=t}return n.prototype.activate=function(i){if(this._terminal=i,this._useLinkProvider&&"registerLinkProvider"in this._terminal){var e=(t=this._options).urlRegex||s;this._linkProvider=this._terminal.registerLinkProvider(new r.WebLinkProvider(this._terminal,e,this._handler,t))}else{var t;(t=this._options).matchIndex=1,this._linkMatcherId=this._terminal.registerLinkMatcher(s,this._handler,t)}},n.prototype.dispose=function(){var i;this._linkMatcherId!==void 0&&this._terminal!==void 0&&this._terminal.deregisterLinkMatcher(this._linkMatcherId),(i=this._linkProvider)===null||i===void 0||i.dispose()},n}();a.WebLinksAddon=o})(),W})()})});export{j as a};
@@ -1 +1 @@
1
- import{g as i}from"./chunk-NZNNTHFQ.js";import"./chunk-UG5DK2RQ.js";import{ia as t,md as l,sb as e}from"./chunk-TXOB7R5K.js";var d=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"docker",loadChildren:()=>import("./chunk-HC4ULUF5.js").then(o=>o.DockerModule)},{path:"linux",loadChildren:()=>import("./chunk-7C3EOONK.js").then(o=>o.LinuxModule)},{path:"terminal",loadChildren:()=>import("./chunk-ENTRCZRC.js").then(o=>o.TerminalModule)}],n=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[i.forChild(d),i]})}return o})();var s=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[l,n]})}return o})();export{s as PlatformToolsModule};
1
+ import{g as i}from"./chunk-O22A7NB6.js";import"./chunk-NZL2QIFO.js";import{ha as t,id as l,tb as e}from"./chunk-VRNVEPFN.js";var d=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"docker",loadChildren:()=>import("./chunk-CDK2Y3HN.js").then(o=>o.DockerModule)},{path:"linux",loadChildren:()=>import("./chunk-N4DQEZFE.js").then(o=>o.LinuxModule)},{path:"terminal",loadChildren:()=>import("./chunk-NSL7MXSS.js").then(o=>o.TerminalModule)}],n=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[i.forChild(d),i]})}return o})();var s=(()=>{class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[l,n]})}return o})();export{s as PlatformToolsModule};
package/public/index.html CHANGED
@@ -16,9 +16,9 @@
16
16
  <link rel="manifest" href="/assets/manifest.webmanifest"/>
17
17
  <meta name="theme-color" content="#140a33" media="(prefers-color-scheme: light)"/>
18
18
  <meta name="theme-color" content="#0f0f0f" media="(prefers-color-scheme: dark)"/>
19
- <link rel="stylesheet" href="styles-EG5MFQEM.css" crossorigin="use-credentials"></head>
19
+ <link rel="stylesheet" href="styles-5ZGAUY5X.css" crossorigin="use-credentials"></head>
20
20
 
21
21
  <body>
22
22
  <app-root></app-root>
23
- <link rel="modulepreload" href="chunk-AX2NKG76.js"><link rel="modulepreload" href="chunk-VAW3X7MD.js"><link rel="modulepreload" href="chunk-EA5J2VEJ.js"><link rel="modulepreload" href="chunk-LAAC3HKW.js"><link rel="modulepreload" href="chunk-UNXETFMR.js"><link rel="modulepreload" href="chunk-ODPNK7TG.js"><link rel="modulepreload" href="chunk-2VTFU3NZ.js"><link rel="modulepreload" href="chunk-CDC5JJGR.js"><link rel="modulepreload" href="chunk-JLUPHWBK.js"><link rel="modulepreload" href="chunk-WHJSVGC7.js"><script src="polyfills-C6JHVXJJ.js" type="module" crossorigin="use-credentials"></script><script src="scripts-6GVLYD7F.js" defer crossorigin="use-credentials"></script><script src="main-XXZ7MAPQ.js" type="module" crossorigin="use-credentials"></script></body>
23
+ <link rel="modulepreload" href="chunk-JB6YXEOR.js"><link rel="modulepreload" href="chunk-NSH2TVLK.js"><link rel="modulepreload" href="chunk-GQS3624Y.js"><link rel="modulepreload" href="chunk-N4QHVBNS.js"><link rel="modulepreload" href="chunk-43L3TNTW.js"><link rel="modulepreload" href="chunk-24YYWTRL.js"><link rel="modulepreload" href="chunk-FTWFQIC5.js"><link rel="modulepreload" href="chunk-ATVAKJWD.js"><link rel="modulepreload" href="chunk-OSTOAYDG.js"><link rel="modulepreload" href="chunk-TFB2BTYE.js"><script src="polyfills-C6JHVXJJ.js" type="module" crossorigin="use-credentials"></script><script src="main-QWL6TNWH.js" type="module" crossorigin="use-credentials"></script></body>
24
24
  </html>