onbuzz 4.6.4 → 4.7.1

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 (966) hide show
  1. package/bin/cli.js +8 -0
  2. package/package.json +1 -1
  3. package/scripts/debug-balance-probe.mjs +35 -0
  4. package/src/__tests__/autoUpdateConfig.test.js +80 -0
  5. package/src/__tests__/releaseWorkflow.test.js +72 -0
  6. package/src/core/__tests__/messageProcessor.sourceHeader.test.js +7 -2
  7. package/src/index.js +16 -0
  8. package/src/interfaces/__tests__/accountRoutes.test.js +487 -0
  9. package/src/interfaces/__tests__/apiKeyManagerContract.test.js +39 -0
  10. package/src/interfaces/__tests__/authRoutes.test.js +8 -8
  11. package/src/interfaces/accountRoutes.js +398 -0
  12. package/src/interfaces/webServer.js +104 -15
  13. package/src/services/__tests__/apiKeyManager.test.js +4 -6
  14. package/src/services/__tests__/authCacheStore.test.js +118 -0
  15. package/src/services/__tests__/channelRelay.integration.test.js +49 -12
  16. package/src/services/__tests__/messageSource.test.js +6 -2
  17. package/src/services/__tests__/telegramBlockParser.test.js +183 -0
  18. package/src/services/__tests__/telegramService.test.js +838 -0
  19. package/src/services/apiKeyManager.js +12 -99
  20. package/src/services/authCacheStore.js +140 -0
  21. package/src/services/messageSource.js +11 -11
  22. package/src/services/telegramBlockParser.js +145 -0
  23. package/src/services/telegramService.js +1273 -431
  24. package/src/tools/__tests__/webTool.e2e.test.js +9 -1
  25. package/src/tools/webTool.js +20 -4
  26. package/src/utilities/__tests__/secretsCipher.test.js +97 -0
  27. package/src/utilities/__tests__/updateNotifier.test.js +139 -0
  28. package/src/utilities/secretsCipher.js +116 -0
  29. package/src/utilities/updateNotifier.js +140 -0
  30. package/web-ui/build/index.html +2 -2
  31. package/web-ui/build/static/1c-CuE_dLW8.js +1 -0
  32. package/web-ui/build/static/abap-LOu14tBm.js +1 -0
  33. package/web-ui/build/static/abnf-CJpfHQLV.js +1 -0
  34. package/web-ui/build/static/abnf-LdAi7OAY.js +1 -0
  35. package/web-ui/build/static/accesslog-BvrhdZIJ.js +1 -0
  36. package/web-ui/build/static/actionscript-B3NHp9II.js +1 -0
  37. package/web-ui/build/static/actionscript-DVfqv5DS.js +1 -0
  38. package/web-ui/build/static/ada-BVkvHgSu.js +1 -0
  39. package/web-ui/build/static/ada-d33rlRPC.js +1 -0
  40. package/web-ui/build/static/agda-t1mot-jT.js +1 -0
  41. package/web-ui/build/static/al-D2Aw8sYi.js +1 -0
  42. package/web-ui/build/static/angelscript-DGjq6ZLh.js +1 -0
  43. package/web-ui/build/static/antlr4-DQWExQhj.js +1 -0
  44. package/web-ui/build/static/apache-CRX2mGHA.js +1 -0
  45. package/web-ui/build/static/apacheconf-BBhhyVVR.js +1 -0
  46. package/web-ui/build/static/apex-DIJyAF3g.js +1 -0
  47. package/web-ui/build/static/apl-COGQUhmX.js +1 -0
  48. package/web-ui/build/static/applescript-DLPa_bvL.js +1 -0
  49. package/web-ui/build/static/applescript-iEepawXM.js +1 -0
  50. package/web-ui/build/static/aql-vDYotUbW.js +1 -0
  51. package/web-ui/build/static/arcade-5bpnh2Oi.js +1 -0
  52. package/web-ui/build/static/arduino-4OxI8HS8.js +1 -0
  53. package/web-ui/build/static/arduino-zJUNF7Xl.js +1 -0
  54. package/web-ui/build/static/arff-DHcdYO6-.js +1 -0
  55. package/web-ui/build/static/armasm-DVyTHmiD.js +1 -0
  56. package/web-ui/build/static/asciidoc-BRYIR6BF.js +1 -0
  57. package/web-ui/build/static/asciidoc-bd_scw1t.js +1 -0
  58. package/web-ui/build/static/asm6502-DfRcm1MU.js +1 -0
  59. package/web-ui/build/static/asmatmel--fvKJXxu.js +1 -0
  60. package/web-ui/build/static/aspectj-Cnm2Ccyg.js +1 -0
  61. package/web-ui/build/static/aspnet-BK2pQltF.js +1 -0
  62. package/web-ui/build/static/autohotkey-COkKlASn.js +1 -0
  63. package/web-ui/build/static/autohotkey-DNYipPv0.js +1 -0
  64. package/web-ui/build/static/autoit-DiwhqkEo.js +1 -0
  65. package/web-ui/build/static/autoit-DkQ_YDdk.js +1 -0
  66. package/web-ui/build/static/avisynth-DFrkQWrl.js +1 -0
  67. package/web-ui/build/static/avrasm-BbFtsKVm.js +1 -0
  68. package/web-ui/build/static/avro-idl-06_wFrxE.js +1 -0
  69. package/web-ui/build/static/awk-BNO1Hu3Y.js +1 -0
  70. package/web-ui/build/static/axapta-CW0rBEQf.js +1 -0
  71. package/web-ui/build/static/bash-DAP5H41u.js +1 -0
  72. package/web-ui/build/static/bash-DsCT4fHh.js +1 -0
  73. package/web-ui/build/static/basic-DqCcX17x.js +1 -0
  74. package/web-ui/build/static/basic-J3jqGQaz.js +1 -0
  75. package/web-ui/build/static/batch-BzKb0QuF.js +1 -0
  76. package/web-ui/build/static/bbcode-Cxys0qL9.js +1 -0
  77. package/web-ui/build/static/bicep-DPpVhf9I.js +1 -0
  78. package/web-ui/build/static/birb-BDF00uY2.js +1 -0
  79. package/web-ui/build/static/bison-DerSCeTc.js +1 -0
  80. package/web-ui/build/static/bnf--Nxb91Mj.js +1 -0
  81. package/web-ui/build/static/bnf-DKp1OqQh.js +1 -0
  82. package/web-ui/build/static/brainfuck-BgKburBi.js +1 -0
  83. package/web-ui/build/static/brainfuck-CLRabJhl.js +1 -0
  84. package/web-ui/build/static/brightscript-DJ0LrgUU.js +1 -0
  85. package/web-ui/build/static/bro-FVn3137a.js +1 -0
  86. package/web-ui/build/static/bsl-DGcfC5Qq.js +1 -0
  87. package/web-ui/build/static/c-CtBaJxj_.js +1 -0
  88. package/web-ui/build/static/c-DcJBPsOs.js +1 -0
  89. package/web-ui/build/static/c-like-BMAPMOT0.js +1 -0
  90. package/web-ui/build/static/cal-Dwvf5LQJ.js +1 -0
  91. package/web-ui/build/static/capnproto-Be5xeQu8.js +1 -0
  92. package/web-ui/build/static/ceylon-BV9kQegc.js +1 -0
  93. package/web-ui/build/static/cfscript-DqyqkqRV.js +1 -0
  94. package/web-ui/build/static/chaiscript-ab8S5sGz.js +1 -0
  95. package/web-ui/build/static/cil-DU5bEU16.js +1 -0
  96. package/web-ui/build/static/clean-CqKiC4l-.js +1 -0
  97. package/web-ui/build/static/clojure-CdaWManm.js +1 -0
  98. package/web-ui/build/static/clojure-cVIUydqy.js +1 -0
  99. package/web-ui/build/static/clojure-repl-mc7sqsOd.js +1 -0
  100. package/web-ui/build/static/cmake-D2ntzyPv.js +1 -0
  101. package/web-ui/build/static/cmake-Dt7gdCZl.js +1 -0
  102. package/web-ui/build/static/cobol-BYMIYxJY.js +1 -0
  103. package/web-ui/build/static/coffeescript-COUOYE5O.js +1 -0
  104. package/web-ui/build/static/coffeescript-FDyQzH4X.js +1 -0
  105. package/web-ui/build/static/concurnas-D8GglsJx.js +1 -0
  106. package/web-ui/build/static/coq-BvEL_B0N.js +1 -0
  107. package/web-ui/build/static/coq-C6NZeAuz.js +1 -0
  108. package/web-ui/build/static/cos-CjjeNVfD.js +1 -0
  109. package/web-ui/build/static/cpp-BdQQ9k01.js +1 -0
  110. package/web-ui/build/static/cpp-iYGopslr.js +1 -0
  111. package/web-ui/build/static/crmsh-COhOWlQB.js +1 -0
  112. package/web-ui/build/static/crystal-DqVfuZe7.js +1 -0
  113. package/web-ui/build/static/crystal-fkI7WHLA.js +1 -0
  114. package/web-ui/build/static/csharp-BKyMR69a.js +1 -0
  115. package/web-ui/build/static/csharp-KJwk5tFh.js +1 -0
  116. package/web-ui/build/static/cshtml-D-0Bd5yF.js +1 -0
  117. package/web-ui/build/static/csp-C6xrFQUZ.js +1 -0
  118. package/web-ui/build/static/csp-CKOZZjS5.js +1 -0
  119. package/web-ui/build/static/css-DhttYfIQ.js +1 -0
  120. package/web-ui/build/static/css-extras-Cwksdn14.js +1 -0
  121. package/web-ui/build/static/csv-3xOycrIm.js +1 -0
  122. package/web-ui/build/static/cypher-DIQ_IXvU.js +1 -0
  123. package/web-ui/build/static/d-CA3ONaPZ.js +1 -0
  124. package/web-ui/build/static/d-Cpj6yr1P.js +1 -0
  125. package/web-ui/build/static/dart-CStXueOh.js +1 -0
  126. package/web-ui/build/static/dart-DyyN2hCZ.js +1 -0
  127. package/web-ui/build/static/dataweave-C1Z1lf_p.js +1 -0
  128. package/web-ui/build/static/dax-Bra_xxin.js +1 -0
  129. package/web-ui/build/static/delphi-BSp32sTR.js +1 -0
  130. package/web-ui/build/static/dhall-DqULvWhD.js +1 -0
  131. package/web-ui/build/static/diff-DZWp0eai.js +1 -0
  132. package/web-ui/build/static/diff-Dl7Q9ZLJ.js +1 -0
  133. package/web-ui/build/static/django-BKb-9srn.js +1 -0
  134. package/web-ui/build/static/django-D4ZBsr7A.js +1 -0
  135. package/web-ui/build/static/dns-BIl1lqfE.js +1 -0
  136. package/web-ui/build/static/dns-zone-file-BHOpqtwv.js +1 -0
  137. package/web-ui/build/static/docker-DhYlo5KM.js +1 -0
  138. package/web-ui/build/static/dockerfile-DkKcxplU.js +1 -0
  139. package/web-ui/build/static/dos-BL8RAxlP.js +1 -0
  140. package/web-ui/build/static/dot-BLokvOTb.js +1 -0
  141. package/web-ui/build/static/dsconfig-C-HwSveF.js +1 -0
  142. package/web-ui/build/static/dts-D7N7kY9U.js +1 -0
  143. package/web-ui/build/static/dust-BDDbpTgO.js +1 -0
  144. package/web-ui/build/static/ebnf-BXq1reNT.js +1 -0
  145. package/web-ui/build/static/ebnf-DbPDw4Bq.js +1 -0
  146. package/web-ui/build/static/editorconfig-w2ZfPGuw.js +1 -0
  147. package/web-ui/build/static/eiffel-c2MQNBkW.js +1 -0
  148. package/web-ui/build/static/ejs-3QktTSvM.js +1 -0
  149. package/web-ui/build/static/elixir-BpckBbUo.js +1 -0
  150. package/web-ui/build/static/elixir-CdGx--Zx.js +1 -0
  151. package/web-ui/build/static/elm-BZQYORvs.js +1 -0
  152. package/web-ui/build/static/elm-CuB52FFf.js +1 -0
  153. package/web-ui/build/static/erb-BBShdpRp.js +1 -0
  154. package/web-ui/build/static/erb-C6oyD8uR.js +1 -0
  155. package/web-ui/build/static/erlang-CTR2NiVN.js +1 -0
  156. package/web-ui/build/static/erlang-Gyvyd8Bt.js +1 -0
  157. package/web-ui/build/static/erlang-repl-DQ9M2hTB.js +1 -0
  158. package/web-ui/build/static/etlua-WvCpEBL7.js +1 -0
  159. package/web-ui/build/static/excel-Cti8qyDh.js +1 -0
  160. package/web-ui/build/static/excel-formula-CbyjGhLT.js +1 -0
  161. package/web-ui/build/static/factor-DsS7xUlQ.js +1 -0
  162. package/web-ui/build/static/false-By7DT7NY.js +1 -0
  163. package/web-ui/build/static/firestore-security-rules-D818j5mX.js +1 -0
  164. package/web-ui/build/static/fix-Z9CNHO5B.js +1 -0
  165. package/web-ui/build/static/flix-CQ5tU7oG.js +1 -0
  166. package/web-ui/build/static/flow-TAcj5V8G.js +1 -0
  167. package/web-ui/build/static/fortran-CSo4-IB9.js +1 -0
  168. package/web-ui/build/static/fortran-D8ckpcuk.js +1 -0
  169. package/web-ui/build/static/fsharp-CX5IhzHG.js +1 -0
  170. package/web-ui/build/static/fsharp-CjgdWVzI.js +1 -0
  171. package/web-ui/build/static/ftl-BniZfpaP.js +1 -0
  172. package/web-ui/build/static/gams-Dx_Ej7b0.js +1 -0
  173. package/web-ui/build/static/gap-BW8rQPKU.js +1 -0
  174. package/web-ui/build/static/gauss-DP_j2AoM.js +1 -0
  175. package/web-ui/build/static/gcode-C_p0RHK2.js +1 -0
  176. package/web-ui/build/static/gcode-CvPzqlIr.js +1 -0
  177. package/web-ui/build/static/gdscript-BQxanI3X.js +1 -0
  178. package/web-ui/build/static/gedcom-DX22sB95.js +1 -0
  179. package/web-ui/build/static/gherkin-BuM2TN92.js +1 -0
  180. package/web-ui/build/static/gherkin-SyKtGAnl.js +1 -0
  181. package/web-ui/build/static/git-CZsBJbLj.js +1 -0
  182. package/web-ui/build/static/glsl-0gMMTGpT.js +1 -0
  183. package/web-ui/build/static/glsl-DdxyDP7O.js +1 -0
  184. package/web-ui/build/static/gml-Bmf5f_3a.js +1 -0
  185. package/web-ui/build/static/gml-DygwvUqd.js +1 -0
  186. package/web-ui/build/static/gn-CmJ9lVHR.js +1 -0
  187. package/web-ui/build/static/go-DcXIw3ql.js +1 -0
  188. package/web-ui/build/static/go-Dp-1fwju.js +1 -0
  189. package/web-ui/build/static/go-module-CVe5dTg-.js +1 -0
  190. package/web-ui/build/static/golo-Dqz3BdPW.js +1 -0
  191. package/web-ui/build/static/gradle-PY8Q_ptd.js +1 -0
  192. package/web-ui/build/static/graphql-7ynBfuuQ.js +1 -0
  193. package/web-ui/build/static/groovy-CKe3t1A3.js +1 -0
  194. package/web-ui/build/static/groovy-DK_6c_Dy.js +1 -0
  195. package/web-ui/build/static/haml-BjjIreuG.js +1 -0
  196. package/web-ui/build/static/haml-knbHtzU7.js +1 -0
  197. package/web-ui/build/static/handlebars-Bvicc2ZP.js +1 -0
  198. package/web-ui/build/static/handlebars-CWjisUes.js +1 -0
  199. package/web-ui/build/static/haskell-0vOFJmtj.js +1 -0
  200. package/web-ui/build/static/haskell-BjwWvVul.js +1 -0
  201. package/web-ui/build/static/haxe-CXIYhI9-.js +1 -0
  202. package/web-ui/build/static/haxe-Msa_nat5.js +1 -0
  203. package/web-ui/build/static/hcl-DADfqiqO.js +1 -0
  204. package/web-ui/build/static/hlsl-BoecwvZ1.js +1 -0
  205. package/web-ui/build/static/hoon-DoMcF4bN.js +1 -0
  206. package/web-ui/build/static/hpkp-DOkWWV9B.js +1 -0
  207. package/web-ui/build/static/hsp-KvanktXQ.js +1 -0
  208. package/web-ui/build/static/hsts-DP5sAe8p.js +1 -0
  209. package/web-ui/build/static/htmlbars-DpevdeqY.js +1 -0
  210. package/web-ui/build/static/http-CTyudxeK.js +1 -0
  211. package/web-ui/build/static/http-D0_pALtR.js +1 -0
  212. package/web-ui/build/static/hy-KpsNGTaA.js +1 -0
  213. package/web-ui/build/static/ichigojam-B9szb3eY.js +1 -0
  214. package/web-ui/build/static/icon-nqAgdt4t.js +1 -0
  215. package/web-ui/build/static/icu-message-format-DvgC-cKZ.js +1 -0
  216. package/web-ui/build/static/idris-D5VcDmFg.js +1 -0
  217. package/web-ui/build/static/iecst-LbbDhK7w.js +1 -0
  218. package/web-ui/build/static/ignore-rThoz4zA.js +1 -0
  219. package/web-ui/build/static/index-Cm1gK3R7.css +1 -0
  220. package/web-ui/build/static/index-D6blIL5t.js +13 -0
  221. package/web-ui/build/static/index-DqCutaVi.js +1164 -0
  222. package/web-ui/build/static/index-_UVy_UGY.js +1 -0
  223. package/web-ui/build/static/inform7-B2u0-vkK.js +1 -0
  224. package/web-ui/build/static/inform7-Cj2uMx5P.js +1 -0
  225. package/web-ui/build/static/ini-DDC_WfpB.js +1 -0
  226. package/web-ui/build/static/ini-Dafi1wkS.js +1 -0
  227. package/web-ui/build/static/io-Cs5RmCdQ.js +1 -0
  228. package/web-ui/build/static/irpf90-5KuyCx_k.js +1 -0
  229. package/web-ui/build/static/isbl-CZGAUFN3.js +1 -0
  230. package/web-ui/build/static/j-C2U5CNx3.js +1 -0
  231. package/web-ui/build/static/java-B-L3bHbG.js +1 -0
  232. package/web-ui/build/static/java-Dhfb499l.js +1 -0
  233. package/web-ui/build/static/javadoc-_ln2gn5I.js +1 -0
  234. package/web-ui/build/static/javadoclike-CnV_ddKg.js +1 -0
  235. package/web-ui/build/static/javascript-DBUUUlif.js +1 -0
  236. package/web-ui/build/static/javastacktrace-BS1l3Yf6.js +1 -0
  237. package/web-ui/build/static/jboss-cli-RdKEfNzL.js +1 -0
  238. package/web-ui/build/static/jexl-Bu5vdWnx.js +1 -0
  239. package/web-ui/build/static/jolie-LS18mxou.js +1 -0
  240. package/web-ui/build/static/jq-u9QEjWr_.js +1 -0
  241. package/web-ui/build/static/js-extras-C1cS_85G.js +1 -0
  242. package/web-ui/build/static/js-templates-DQxgBfhh.js +1 -0
  243. package/web-ui/build/static/jsdoc-DhLXAtzJ.js +1 -0
  244. package/web-ui/build/static/json-B8DgcmbV.js +1 -0
  245. package/web-ui/build/static/json-ByLJzbD8.js +1 -0
  246. package/web-ui/build/static/json5-DSnccLNQ.js +1 -0
  247. package/web-ui/build/static/jsonp-CcwF40Vu.js +1 -0
  248. package/web-ui/build/static/jsstacktrace-7YvddNWa.js +1 -0
  249. package/web-ui/build/static/jsx-DnHkAc3-.js +1 -0
  250. package/web-ui/build/static/julia-BmadVpf3.js +1 -0
  251. package/web-ui/build/static/julia-GSKCoIBJ.js +1 -0
  252. package/web-ui/build/static/julia-repl-ks3HTctE.js +1 -0
  253. package/web-ui/build/static/keepalived-CWDkM2-Z.js +1 -0
  254. package/web-ui/build/static/keyman-C9jA4-3Y.js +1 -0
  255. package/web-ui/build/static/kotlin-BqzUXT-K.js +1 -0
  256. package/web-ui/build/static/kotlin-BxhEUQAU.js +1 -0
  257. package/web-ui/build/static/kumir-BFYLWJq-.js +1 -0
  258. package/web-ui/build/static/kusto-CQRzYXm2.js +1 -0
  259. package/web-ui/build/static/lasso-D44z_uI8.js +1 -0
  260. package/web-ui/build/static/latex-BEJdTqYC.js +1 -0
  261. package/web-ui/build/static/latex-CStS4ql1.js +1 -0
  262. package/web-ui/build/static/latte-BPXasl8T.js +1 -0
  263. package/web-ui/build/static/ldif-Wxrk2-xQ.js +1 -0
  264. package/web-ui/build/static/leaf-DrTXK-pT.js +1 -0
  265. package/web-ui/build/static/less-BmoAe98U.js +1 -0
  266. package/web-ui/build/static/less-DzWEFsZj.js +1 -0
  267. package/web-ui/build/static/lilypond-C3ZnRm_L.js +1 -0
  268. package/web-ui/build/static/liquid-eXmypvP_.js +1 -0
  269. package/web-ui/build/static/lisp-DcidyoAl.js +1 -0
  270. package/web-ui/build/static/lisp-DhmUig93.js +1 -0
  271. package/web-ui/build/static/livecodeserver-D5lnfCkg.js +1 -0
  272. package/web-ui/build/static/livescript-Bpb_EpXS.js +1 -0
  273. package/web-ui/build/static/livescript-rF5whmjG.js +1 -0
  274. package/web-ui/build/static/llvm-BD9QG7T-.js +1 -0
  275. package/web-ui/build/static/llvm-CVP-jOx8.js +1 -0
  276. package/web-ui/build/static/log-DRzysjS2.js +1 -0
  277. package/web-ui/build/static/lolcode-BmKgPOwi.js +1 -0
  278. package/web-ui/build/static/lsl-DEO2mV0F.js +1 -0
  279. package/web-ui/build/static/lua-BNDDIa9F.js +1 -0
  280. package/web-ui/build/static/lua-C5n4hyV-.js +1 -0
  281. package/web-ui/build/static/magma-UZvvdXue.js +1 -0
  282. package/web-ui/build/static/makefile-BDQ4tARf.js +1 -0
  283. package/web-ui/build/static/makefile-Bjg-ueA2.js +1 -0
  284. package/web-ui/build/static/markdown-BTXvpQos.js +1 -0
  285. package/web-ui/build/static/markdown-BvMdFo1Y.js +1 -0
  286. package/web-ui/build/static/markup-templating-xSAHnnIS.js +1 -0
  287. package/web-ui/build/static/mathematica-CqNsUy6n.js +1 -0
  288. package/web-ui/build/static/matlab-D-A1WMHc.js +1 -0
  289. package/web-ui/build/static/matlab-Us_SxUWG.js +1 -0
  290. package/web-ui/build/static/maxima-BSyBp09v.js +1 -0
  291. package/web-ui/build/static/maxscript-wyb-3dgT.js +1 -0
  292. package/web-ui/build/static/mel-Bpo7JK_A.js +1 -0
  293. package/web-ui/build/static/mel-eZCDX4iS.js +1 -0
  294. package/web-ui/build/static/mercury-CEgBiaXI.js +1 -0
  295. package/web-ui/build/static/mermaid-BJIHmQsO.js +1 -0
  296. package/web-ui/build/static/mipsasm-c70dMcw9.js +1 -0
  297. package/web-ui/build/static/mizar-CeCpdHS-.js +1 -0
  298. package/web-ui/build/static/mizar-DDlOFZXr.js +1 -0
  299. package/web-ui/build/static/mojolicious-b4UGVld0.js +1 -0
  300. package/web-ui/build/static/mongodb-DwkU2uSm.js +1 -0
  301. package/web-ui/build/static/monkey-CNkGqOfo.js +1 -0
  302. package/web-ui/build/static/monkey-DwmdAwUx.js +1 -0
  303. package/web-ui/build/static/moonscript-C2vv4alq.js +1 -0
  304. package/web-ui/build/static/moonscript-GOmGojxm.js +1 -0
  305. package/web-ui/build/static/n1ql-B-uZXYG_.js +1 -0
  306. package/web-ui/build/static/n1ql-CqKgc7lF.js +1 -0
  307. package/web-ui/build/static/n4js-CLkxsn24.js +1 -0
  308. package/web-ui/build/static/nand2tetris-hdl-CAJAzliK.js +1 -0
  309. package/web-ui/build/static/naniscript-DxWjsrnl.js +1 -0
  310. package/web-ui/build/static/nasm-C-GI38un.js +1 -0
  311. package/web-ui/build/static/neon-DWKBFo--.js +1 -0
  312. package/web-ui/build/static/nevod-DGDg1w8a.js +1 -0
  313. package/web-ui/build/static/nginx-BQbAompS.js +1 -0
  314. package/web-ui/build/static/nginx-BQbgG8J2.js +1 -0
  315. package/web-ui/build/static/nim-Bf864jik.js +1 -0
  316. package/web-ui/build/static/nim-DG4Tf5sg.js +1 -0
  317. package/web-ui/build/static/nix-BBq54ypW.js +1 -0
  318. package/web-ui/build/static/nix-DiVQTSyM.js +1 -0
  319. package/web-ui/build/static/node-repl-Dg0rNxhv.js +1 -0
  320. package/web-ui/build/static/nsis-BG8Lm28v.js +1 -0
  321. package/web-ui/build/static/nsis-CwA_MNyF.js +1 -0
  322. package/web-ui/build/static/objectivec-83FM4mu0.js +1 -0
  323. package/web-ui/build/static/objectivec-CbDgPZGc.js +1 -0
  324. package/web-ui/build/static/ocaml-CXrksX9b.js +1 -0
  325. package/web-ui/build/static/ocaml-aktipfk_.js +1 -0
  326. package/web-ui/build/static/opencl-B1Wu4nP5.js +1 -0
  327. package/web-ui/build/static/openqasm-BnUjC0Rq.js +1 -0
  328. package/web-ui/build/static/openscad-CNEF75nQ.js +1 -0
  329. package/web-ui/build/static/oxygene-B5nQHVvu.js +1 -0
  330. package/web-ui/build/static/oz-Dw07HFRJ.js +1 -0
  331. package/web-ui/build/static/parigp-Dkh7PqN8.js +1 -0
  332. package/web-ui/build/static/parser-CAW1btwt.js +1 -0
  333. package/web-ui/build/static/parser3-DO4cmbnD.js +1 -0
  334. package/web-ui/build/static/pascal-B3XwEzrN.js +1 -0
  335. package/web-ui/build/static/pascaligo-CMKmAZ_B.js +1 -0
  336. package/web-ui/build/static/pcaxis-B5RrdB6p.js +1 -0
  337. package/web-ui/build/static/peoplecode-CGkgPJl9.js +1 -0
  338. package/web-ui/build/static/perl-BWBuZ5Vt.js +1 -0
  339. package/web-ui/build/static/perl-CW0_w5xG.js +1 -0
  340. package/web-ui/build/static/pf-B1aiG4iq.js +1 -0
  341. package/web-ui/build/static/pgsql-BgXadqYx.js +1 -0
  342. package/web-ui/build/static/php-BpB9heTH.js +1 -0
  343. package/web-ui/build/static/php-S3LJn70M.js +1 -0
  344. package/web-ui/build/static/php-extras-Dmblzt0I.js +1 -0
  345. package/web-ui/build/static/php-template-BS_uyUS1.js +1 -0
  346. package/web-ui/build/static/phpdoc-BqP_4LKt.js +1 -0
  347. package/web-ui/build/static/plaintext-BvDBRLjE.js +1 -0
  348. package/web-ui/build/static/plsql-DEj_qOIm.js +1 -0
  349. package/web-ui/build/static/pony-DpvrOLZf.js +1 -0
  350. package/web-ui/build/static/powerquery-C0Wobunx.js +1 -0
  351. package/web-ui/build/static/powershell-CY7ZBlTW.js +1 -0
  352. package/web-ui/build/static/powershell-DiEDDrOo.js +1 -0
  353. package/web-ui/build/static/processing-IXybgMWQ.js +1 -0
  354. package/web-ui/build/static/processing-i136WolF.js +1 -0
  355. package/web-ui/build/static/profile-guIih27Q.js +1 -0
  356. package/web-ui/build/static/prolog-CvmO0VDt.js +1 -0
  357. package/web-ui/build/static/prolog-Dmf4klwf.js +1 -0
  358. package/web-ui/build/static/promql-DObZhyF5.js +1 -0
  359. package/web-ui/build/static/properties-CK08qg7k.js +1 -0
  360. package/web-ui/build/static/properties-DmwePx7J.js +1 -0
  361. package/web-ui/build/static/protobuf-BDkUYcAx.js +1 -0
  362. package/web-ui/build/static/protobuf-CBMNyvhU.js +1 -0
  363. package/web-ui/build/static/psl-eW3BB0n6.js +1 -0
  364. package/web-ui/build/static/pug-D0LF-keh.js +1 -0
  365. package/web-ui/build/static/puppet-BUYZQfB-.js +1 -0
  366. package/web-ui/build/static/puppet-Dbo5UDT-.js +1 -0
  367. package/web-ui/build/static/pure-C5ukDHhg.js +1 -0
  368. package/web-ui/build/static/purebasic-B8eqrPTw.js +1 -0
  369. package/web-ui/build/static/purebasic-BA8g0-l-.js +1 -0
  370. package/web-ui/build/static/purescript-CKa_o5qx.js +1 -0
  371. package/web-ui/build/static/python-C-iEDsum.js +1 -0
  372. package/web-ui/build/static/python-CJcHyEGQ.js +1 -0
  373. package/web-ui/build/static/python-repl-WvDxhQ8t.js +1 -0
  374. package/web-ui/build/static/q-Ben5hioy.js +1 -0
  375. package/web-ui/build/static/q-CenUx0Za.js +1 -0
  376. package/web-ui/build/static/qml-CkUJB-7R.js +1 -0
  377. package/web-ui/build/static/qml-G6uEqbt_.js +1 -0
  378. package/web-ui/build/static/qore-CASrYvaT.js +1 -0
  379. package/web-ui/build/static/qsharp-CJMvScJV.js +1 -0
  380. package/web-ui/build/static/r-C3qOLTEa.js +1 -0
  381. package/web-ui/build/static/r-pFTIkWVX.js +1 -0
  382. package/web-ui/build/static/racket-Dj2Pnxz8.js +1 -0
  383. package/web-ui/build/static/reason-BLo81vJj.js +1 -0
  384. package/web-ui/build/static/reasonml-Uso3eiRd.js +1 -0
  385. package/web-ui/build/static/regex-CRRrWtDv.js +1 -0
  386. package/web-ui/build/static/rego-Pd9N41dQ.js +1 -0
  387. package/web-ui/build/static/renpy-B5nJRJ6W.js +1 -0
  388. package/web-ui/build/static/rest-C4KktBYV.js +1 -0
  389. package/web-ui/build/static/rib-WhwJFXjw.js +1 -0
  390. package/web-ui/build/static/rip-BRMu9y5Q.js +1 -0
  391. package/web-ui/build/static/roboconf-BC-HzyUK.js +1 -0
  392. package/web-ui/build/static/roboconf-Wo-TPzlW.js +1 -0
  393. package/web-ui/build/static/robotframework-Cvw8u8mL.js +1 -0
  394. package/web-ui/build/static/routeros-1EUCLy_j.js +1 -0
  395. package/web-ui/build/static/rsl-DcVNeKkF.js +1 -0
  396. package/web-ui/build/static/ruby-B1fqRC3j.js +1 -0
  397. package/web-ui/build/static/ruby-Bl1wXNzL.js +1 -0
  398. package/web-ui/build/static/ruleslanguage-C3rzl2Ma.js +1 -0
  399. package/web-ui/build/static/rust-4iyLrpFQ.js +1 -0
  400. package/web-ui/build/static/rust-V8MRv3os.js +1 -0
  401. package/web-ui/build/static/sas-ClkrCklD.js +1 -0
  402. package/web-ui/build/static/sas-CyFFy3mS.js +1 -0
  403. package/web-ui/build/static/sass-Cege3fu1.js +1 -0
  404. package/web-ui/build/static/scala-DNb7CDvN.js +1 -0
  405. package/web-ui/build/static/scala-c5k_CS9h.js +1 -0
  406. package/web-ui/build/static/scheme-BXrEBzXP.js +1 -0
  407. package/web-ui/build/static/scheme-COq0pstl.js +1 -0
  408. package/web-ui/build/static/scilab-CRMCfvft.js +1 -0
  409. package/web-ui/build/static/scss-C6MDSdKd.js +1 -0
  410. package/web-ui/build/static/scss-D1INSi-r.js +1 -0
  411. package/web-ui/build/static/shell-BHTFz9Xv.js +1 -0
  412. package/web-ui/build/static/shell-session-B6KXgRjz.js +1 -0
  413. package/web-ui/build/static/smali-CXGHC3zj.js +1 -0
  414. package/web-ui/build/static/smali-DFRkIqFc.js +1 -0
  415. package/web-ui/build/static/smalltalk-DWI2TbuJ.js +1 -0
  416. package/web-ui/build/static/smalltalk-jkgxBKRZ.js +1 -0
  417. package/web-ui/build/static/smarty-BPJMXwnj.js +1 -0
  418. package/web-ui/build/static/sml-BHT8CCeD.js +1 -0
  419. package/web-ui/build/static/sml-D5fkPJU1.js +1 -0
  420. package/web-ui/build/static/solidity-BfFvCWqp.js +1 -0
  421. package/web-ui/build/static/solution-file-DmSVfk_X.js +1 -0
  422. package/web-ui/build/static/soy-CXqMJVf8.js +1 -0
  423. package/web-ui/build/static/sparql-BxIpMyhJ.js +1 -0
  424. package/web-ui/build/static/splunk-spl-DMekyRuD.js +1 -0
  425. package/web-ui/build/static/sqf-DeQ-Lyaa.js +1 -0
  426. package/web-ui/build/static/sqf-hkl5BOBV.js +1 -0
  427. package/web-ui/build/static/sql-Di-rn3Od.js +1 -0
  428. package/web-ui/build/static/sql-DuF5aX9R.js +1 -0
  429. package/web-ui/build/static/sql_more-CCmzwYYA.js +1 -0
  430. package/web-ui/build/static/squirrel-fGLPlBkB.js +1 -0
  431. package/web-ui/build/static/stan-BveEpl1w.js +1 -0
  432. package/web-ui/build/static/stan-CM09XtOD.js +1 -0
  433. package/web-ui/build/static/stata-DeFUbv91.js +1 -0
  434. package/web-ui/build/static/step21-DnUE2ZTl.js +1 -0
  435. package/web-ui/build/static/stylus-Bz9XG6KK.js +1 -0
  436. package/web-ui/build/static/stylus-h33ZUR4b.js +1 -0
  437. package/web-ui/build/static/subunit-v4SRMSnP.js +1 -0
  438. package/web-ui/build/static/swift-BMCxsbHv.js +1 -0
  439. package/web-ui/build/static/swift-qFBaTSsZ.js +1 -0
  440. package/web-ui/build/static/systemd-9w7KWsst.js +1 -0
  441. package/web-ui/build/static/t4-cs-DdBrJkO9.js +1 -0
  442. package/web-ui/build/static/t4-templating-B-3iQJ4y.js +1 -0
  443. package/web-ui/build/static/t4-vb-BBuTbPK8.js +1 -0
  444. package/web-ui/build/static/taggerscript-BPvYYpaJ.js +1 -0
  445. package/web-ui/build/static/tap-DiFULuZV.js +1 -0
  446. package/web-ui/build/static/tap-Q9DMgrzh.js +1 -0
  447. package/web-ui/build/static/tcl-BZcwcRUU.js +1 -0
  448. package/web-ui/build/static/tcl-C4DHKxjE.js +1 -0
  449. package/web-ui/build/static/textile-ByLAjlo8.js +1 -0
  450. package/web-ui/build/static/thrift-C_isEMNl.js +1 -0
  451. package/web-ui/build/static/toml-C6ffwJpv.js +1 -0
  452. package/web-ui/build/static/tp-aV8nCrpp.js +1 -0
  453. package/web-ui/build/static/tremor-Bs1SSWo9.js +1 -0
  454. package/web-ui/build/static/tsx-DdryYBa4.js +1 -0
  455. package/web-ui/build/static/tt2-BeCMXvbZ.js +1 -0
  456. package/web-ui/build/static/turtle-B2FzT5Ov.js +1 -0
  457. package/web-ui/build/static/twig-fVEYqAxR.js +1 -0
  458. package/web-ui/build/static/twig-p9k58-hx.js +1 -0
  459. package/web-ui/build/static/typescript-8bhStN7p.js +1 -0
  460. package/web-ui/build/static/typescript-D2zmnuDR.js +1 -0
  461. package/web-ui/build/static/typoscript-DQePQcKL.js +1 -0
  462. package/web-ui/build/static/unrealscript-BZYSnJjB.js +1 -0
  463. package/web-ui/build/static/uorazor-CGaRtqR5.js +1 -0
  464. package/web-ui/build/static/uri-PJ3dz1qj.js +1 -0
  465. package/web-ui/build/static/v-CI9qDsYZ.js +1 -0
  466. package/web-ui/build/static/vala-B4ses542.js +1 -0
  467. package/web-ui/build/static/vala-BLxHpeKp.js +1 -0
  468. package/web-ui/build/static/vbnet-B7Dzk1rR.js +1 -0
  469. package/web-ui/build/static/vbnet-HOI9SMLZ.js +1 -0
  470. package/web-ui/build/static/vbscript-ERv5iDpi.js +1 -0
  471. package/web-ui/build/static/vbscript-html-D-mjpNAX.js +1 -0
  472. package/web-ui/build/static/velocity-B754qmeE.js +1 -0
  473. package/web-ui/build/static/verilog-3PA83Bxs.js +1 -0
  474. package/web-ui/build/static/verilog-D-lqP5ci.js +1 -0
  475. package/web-ui/build/static/vhdl-BjRYdIRF.js +1 -0
  476. package/web-ui/build/static/vhdl-DgrorvTt.js +1 -0
  477. package/web-ui/build/static/vim-3Oixnlee.js +1 -0
  478. package/web-ui/build/static/vim-BJTKcXdU.js +1 -0
  479. package/web-ui/build/static/visual-basic-BG8-3339.js +1 -0
  480. package/web-ui/build/static/warpscript-CEIgv5UG.js +1 -0
  481. package/web-ui/build/static/wasm-BJlpp9rs.js +1 -0
  482. package/web-ui/build/static/web-idl-Dlh9DutO.js +1 -0
  483. package/web-ui/build/static/wiki-CCcmRzkd.js +1 -0
  484. package/web-ui/build/static/wolfram--Xk-fAUi.js +1 -0
  485. package/web-ui/build/static/wren-B9Ajd9OC.js +1 -0
  486. package/web-ui/build/static/x86asm-DJJ72Zy-.js +1 -0
  487. package/web-ui/build/static/xeora-C0tNsSDj.js +1 -0
  488. package/web-ui/build/static/xl-CzEpyjRJ.js +1 -0
  489. package/web-ui/build/static/xml-CdtQTsBH.js +1 -0
  490. package/web-ui/build/static/xml-doc-TtPAAmc6.js +1 -0
  491. package/web-ui/build/static/xojo-B92fAnQE.js +1 -0
  492. package/web-ui/build/static/xquery-D0Z1FZVO.js +1 -0
  493. package/web-ui/build/static/xquery-DwlcRJ7Q.js +1 -0
  494. package/web-ui/build/static/yaml-DySZjPvD.js +1 -0
  495. package/web-ui/build/static/yaml-YgOVzvAS.js +1 -0
  496. package/web-ui/build/static/yang-BJokKPTo.js +1 -0
  497. package/web-ui/build/static/zephir-BWMUFIRD.js +1 -0
  498. package/web-ui/build/static/zig-Bpzj48cM.js +1 -0
  499. package/web-ui/build/static/1c-4BRB87En.js +0 -1
  500. package/web-ui/build/static/abap-BXIqiAfL.js +0 -1
  501. package/web-ui/build/static/abnf-0gk1i0eD.js +0 -1
  502. package/web-ui/build/static/abnf-jcv7vN9a.js +0 -1
  503. package/web-ui/build/static/accesslog-bXE2aOZl.js +0 -1
  504. package/web-ui/build/static/actionscript-CF-bqawj.js +0 -1
  505. package/web-ui/build/static/actionscript-CodwLKar.js +0 -1
  506. package/web-ui/build/static/ada-BBEDI84F.js +0 -1
  507. package/web-ui/build/static/ada-Kb6JvaxP.js +0 -1
  508. package/web-ui/build/static/agda-UvnMXUUo.js +0 -1
  509. package/web-ui/build/static/al-D5QZ0ijQ.js +0 -1
  510. package/web-ui/build/static/angelscript-RpvZxbeT.js +0 -1
  511. package/web-ui/build/static/antlr4-BPyUvfii.js +0 -1
  512. package/web-ui/build/static/apache-CtM2pGik.js +0 -1
  513. package/web-ui/build/static/apacheconf-D-i9eISH.js +0 -1
  514. package/web-ui/build/static/apex-Dhn_SJi4.js +0 -1
  515. package/web-ui/build/static/apl-HWtdSaYy.js +0 -1
  516. package/web-ui/build/static/applescript-Br9NrmTP.js +0 -1
  517. package/web-ui/build/static/applescript-DLL0TuGw.js +0 -1
  518. package/web-ui/build/static/aql-MjCgNRUX.js +0 -1
  519. package/web-ui/build/static/arcade--DFvEPVv.js +0 -1
  520. package/web-ui/build/static/arduino-Cqw5W_fL.js +0 -1
  521. package/web-ui/build/static/arduino-DIDBbB7R.js +0 -1
  522. package/web-ui/build/static/arff-GGvbnOhc.js +0 -1
  523. package/web-ui/build/static/armasm-DKLRDLs1.js +0 -1
  524. package/web-ui/build/static/asciidoc-CN5qfm0K.js +0 -1
  525. package/web-ui/build/static/asciidoc-CeQEWYOj.js +0 -1
  526. package/web-ui/build/static/asm6502-B1l2Hc9j.js +0 -1
  527. package/web-ui/build/static/asmatmel-BAojNNWJ.js +0 -1
  528. package/web-ui/build/static/aspectj-DqZFhwdh.js +0 -1
  529. package/web-ui/build/static/aspnet-C0kQPqSr.js +0 -1
  530. package/web-ui/build/static/autohotkey-DY25td-Z.js +0 -1
  531. package/web-ui/build/static/autohotkey-DlqXINgk.js +0 -1
  532. package/web-ui/build/static/autoit-By7J2Y34.js +0 -1
  533. package/web-ui/build/static/autoit-nsu9sBga.js +0 -1
  534. package/web-ui/build/static/avisynth-DmhvVsr-.js +0 -1
  535. package/web-ui/build/static/avrasm-CHfBwwoQ.js +0 -1
  536. package/web-ui/build/static/avro-idl-BKgIWEIF.js +0 -1
  537. package/web-ui/build/static/awk-CpAb4d4E.js +0 -1
  538. package/web-ui/build/static/axapta-CM4aTfCZ.js +0 -1
  539. package/web-ui/build/static/bash-D1KTDlk-.js +0 -1
  540. package/web-ui/build/static/bash-DShkskxb.js +0 -1
  541. package/web-ui/build/static/basic-C4CfKvhg.js +0 -1
  542. package/web-ui/build/static/basic-CkQS4VwL.js +0 -1
  543. package/web-ui/build/static/batch-DZtrClI1.js +0 -1
  544. package/web-ui/build/static/bbcode-CY2FsfaO.js +0 -1
  545. package/web-ui/build/static/bicep-BeSEpm_3.js +0 -1
  546. package/web-ui/build/static/birb-huu22Mwu.js +0 -1
  547. package/web-ui/build/static/bison-CmbxfR57.js +0 -1
  548. package/web-ui/build/static/bnf-c2l_4HXN.js +0 -1
  549. package/web-ui/build/static/bnf-wucEDTqY.js +0 -1
  550. package/web-ui/build/static/brainfuck-CzWBg5U7.js +0 -1
  551. package/web-ui/build/static/brainfuck-I_YQ4sma.js +0 -1
  552. package/web-ui/build/static/brightscript-LOkD4eYW.js +0 -1
  553. package/web-ui/build/static/bro-CLJ7Afqo.js +0 -1
  554. package/web-ui/build/static/bsl-DbUgC2FQ.js +0 -1
  555. package/web-ui/build/static/c-C0S2D2ge.js +0 -1
  556. package/web-ui/build/static/c-KH25O_pL.js +0 -1
  557. package/web-ui/build/static/c-like-DtAFxyl_.js +0 -1
  558. package/web-ui/build/static/cal-uGiVJBNC.js +0 -1
  559. package/web-ui/build/static/capnproto-DSLchjOW.js +0 -1
  560. package/web-ui/build/static/ceylon-Bbxk66YL.js +0 -1
  561. package/web-ui/build/static/cfscript-CjDdgKbl.js +0 -1
  562. package/web-ui/build/static/chaiscript-CnRXaMae.js +0 -1
  563. package/web-ui/build/static/cil-CM9ygF3R.js +0 -1
  564. package/web-ui/build/static/clean-ppAH0SYy.js +0 -1
  565. package/web-ui/build/static/clojure-C5LVccGq.js +0 -1
  566. package/web-ui/build/static/clojure-DtLXiuuC.js +0 -1
  567. package/web-ui/build/static/clojure-repl-fSdrYuup.js +0 -1
  568. package/web-ui/build/static/cmake-AD1fuzSY.js +0 -1
  569. package/web-ui/build/static/cmake-D-o08Yta.js +0 -1
  570. package/web-ui/build/static/cobol-bDh1KHf9.js +0 -1
  571. package/web-ui/build/static/coffeescript-D8InK8kf.js +0 -1
  572. package/web-ui/build/static/coffeescript-MKWUOXb5.js +0 -1
  573. package/web-ui/build/static/concurnas-CR56nj6R.js +0 -1
  574. package/web-ui/build/static/coq-DDLBsBJu.js +0 -1
  575. package/web-ui/build/static/coq-WbhtANeW.js +0 -1
  576. package/web-ui/build/static/cos-Bfmre3op.js +0 -1
  577. package/web-ui/build/static/cpp-Cdy6A7gI.js +0 -1
  578. package/web-ui/build/static/cpp-De2KZejr.js +0 -1
  579. package/web-ui/build/static/crmsh-uf3vbKnN.js +0 -1
  580. package/web-ui/build/static/crystal-BHMyEVPP.js +0 -1
  581. package/web-ui/build/static/crystal-DXAQwftg.js +0 -1
  582. package/web-ui/build/static/csharp-Ci2MRG6L.js +0 -1
  583. package/web-ui/build/static/csharp-D8MV2a7f.js +0 -1
  584. package/web-ui/build/static/cshtml-kVj3v3uY.js +0 -1
  585. package/web-ui/build/static/csp-B83CCdVc.js +0 -1
  586. package/web-ui/build/static/csp-DUO7zlPh.js +0 -1
  587. package/web-ui/build/static/css-BWsx7mtO.js +0 -1
  588. package/web-ui/build/static/css-extras-oHch2Y5C.js +0 -1
  589. package/web-ui/build/static/csv-DIf0iNlc.js +0 -1
  590. package/web-ui/build/static/cypher-B1rOF_f3.js +0 -1
  591. package/web-ui/build/static/d-BUgLS87u.js +0 -1
  592. package/web-ui/build/static/d-ClM8XTCr.js +0 -1
  593. package/web-ui/build/static/dart-D5rVGtrb.js +0 -1
  594. package/web-ui/build/static/dart-Oal__k4m.js +0 -1
  595. package/web-ui/build/static/dataweave-B0uxnNDC.js +0 -1
  596. package/web-ui/build/static/dax-B9z6d1P6.js +0 -1
  597. package/web-ui/build/static/delphi-KMlx8q8A.js +0 -1
  598. package/web-ui/build/static/dhall-DLWFgSR8.js +0 -1
  599. package/web-ui/build/static/diff-DDMGnyhE.js +0 -1
  600. package/web-ui/build/static/diff-yg1oXq3U.js +0 -1
  601. package/web-ui/build/static/django-BDtkIu_c.js +0 -1
  602. package/web-ui/build/static/django-Bkn9HlyQ.js +0 -1
  603. package/web-ui/build/static/dns-Bx1VHfo6.js +0 -1
  604. package/web-ui/build/static/dns-zone-file-Bgn5zn_J.js +0 -1
  605. package/web-ui/build/static/docker-CTdrZJHc.js +0 -1
  606. package/web-ui/build/static/dockerfile-B7ziWbf_.js +0 -1
  607. package/web-ui/build/static/dos-cbBC5Icj.js +0 -1
  608. package/web-ui/build/static/dot-JXSVTLEH.js +0 -1
  609. package/web-ui/build/static/dsconfig-sEua2C2o.js +0 -1
  610. package/web-ui/build/static/dts-Zem_gT_O.js +0 -1
  611. package/web-ui/build/static/dust-B-dZ6-uQ.js +0 -1
  612. package/web-ui/build/static/ebnf-CXfeZoXF.js +0 -1
  613. package/web-ui/build/static/ebnf-raQs4FpT.js +0 -1
  614. package/web-ui/build/static/editorconfig-hp8ARbHf.js +0 -1
  615. package/web-ui/build/static/eiffel-tO3jaG00.js +0 -1
  616. package/web-ui/build/static/ejs-BGmD5Rvl.js +0 -1
  617. package/web-ui/build/static/elixir-CF0JDN9L.js +0 -1
  618. package/web-ui/build/static/elixir-CFSil_Ou.js +0 -1
  619. package/web-ui/build/static/elm-As6XaD-g.js +0 -1
  620. package/web-ui/build/static/elm-pw5GpqTZ.js +0 -1
  621. package/web-ui/build/static/erb-BrpCJIyN.js +0 -1
  622. package/web-ui/build/static/erb-D2_eJU9C.js +0 -1
  623. package/web-ui/build/static/erlang-5rSv6NMZ.js +0 -1
  624. package/web-ui/build/static/erlang-RCAxVMBd.js +0 -1
  625. package/web-ui/build/static/erlang-repl-BN0h_6XR.js +0 -1
  626. package/web-ui/build/static/etlua-BMtMnKtv.js +0 -1
  627. package/web-ui/build/static/excel-CRNS57iM.js +0 -1
  628. package/web-ui/build/static/excel-formula-BNw56R2m.js +0 -1
  629. package/web-ui/build/static/factor-7lsloWTf.js +0 -1
  630. package/web-ui/build/static/false-CQUvGnfd.js +0 -1
  631. package/web-ui/build/static/firestore-security-rules-WC1PabFS.js +0 -1
  632. package/web-ui/build/static/fix-Cs6kLeYV.js +0 -1
  633. package/web-ui/build/static/flix-1fdMgw2I.js +0 -1
  634. package/web-ui/build/static/flow-CRPduKSH.js +0 -1
  635. package/web-ui/build/static/fortran-C-3TUt5R.js +0 -1
  636. package/web-ui/build/static/fortran-CA4bbZCj.js +0 -1
  637. package/web-ui/build/static/fsharp-BScjCFae.js +0 -1
  638. package/web-ui/build/static/fsharp-BtHWuW4o.js +0 -1
  639. package/web-ui/build/static/ftl-Re-S2zvF.js +0 -1
  640. package/web-ui/build/static/gams-Cr12l-cM.js +0 -1
  641. package/web-ui/build/static/gap-H0O9-Zju.js +0 -1
  642. package/web-ui/build/static/gauss-CW8jwURx.js +0 -1
  643. package/web-ui/build/static/gcode-CIxfYtg9.js +0 -1
  644. package/web-ui/build/static/gcode-CVqRWYeB.js +0 -1
  645. package/web-ui/build/static/gdscript-BltZCaKl.js +0 -1
  646. package/web-ui/build/static/gedcom-nMT5ety_.js +0 -1
  647. package/web-ui/build/static/gherkin-B4M7CGOo.js +0 -1
  648. package/web-ui/build/static/gherkin-DumuqAQF.js +0 -1
  649. package/web-ui/build/static/git-BBiBlZ5H.js +0 -1
  650. package/web-ui/build/static/glsl-D8ckiRVo.js +0 -1
  651. package/web-ui/build/static/glsl-Z4VdDyPa.js +0 -1
  652. package/web-ui/build/static/gml-BHuSndHE.js +0 -1
  653. package/web-ui/build/static/gml-DZpfN_A4.js +0 -1
  654. package/web-ui/build/static/gn-BjpAHNh_.js +0 -1
  655. package/web-ui/build/static/go-BeZ9IgZB.js +0 -1
  656. package/web-ui/build/static/go-HEXrcgIc.js +0 -1
  657. package/web-ui/build/static/go-module-BGdPb7sP.js +0 -1
  658. package/web-ui/build/static/golo-Cr70KUbI.js +0 -1
  659. package/web-ui/build/static/gradle-C7MXrDnB.js +0 -1
  660. package/web-ui/build/static/graphql-CJK0wQjf.js +0 -1
  661. package/web-ui/build/static/groovy-Bwe7hkFG.js +0 -1
  662. package/web-ui/build/static/groovy-Dc6WDoKa.js +0 -1
  663. package/web-ui/build/static/haml-BSsAjltt.js +0 -1
  664. package/web-ui/build/static/haml-CZih7X_4.js +0 -1
  665. package/web-ui/build/static/handlebars-CN8hCpsy.js +0 -1
  666. package/web-ui/build/static/handlebars-XBLc7i13.js +0 -1
  667. package/web-ui/build/static/haskell-BH9WhK10.js +0 -1
  668. package/web-ui/build/static/haskell-Djf2J1vd.js +0 -1
  669. package/web-ui/build/static/haxe-BllD-W9e.js +0 -1
  670. package/web-ui/build/static/haxe-DY8Hyn7u.js +0 -1
  671. package/web-ui/build/static/hcl-CfktAP2o.js +0 -1
  672. package/web-ui/build/static/hlsl-B2JSOD9d.js +0 -1
  673. package/web-ui/build/static/hoon-BILyDobB.js +0 -1
  674. package/web-ui/build/static/hpkp-Bb8rXx4p.js +0 -1
  675. package/web-ui/build/static/hsp-BmjeJC21.js +0 -1
  676. package/web-ui/build/static/hsts-DJhW57Fu.js +0 -1
  677. package/web-ui/build/static/htmlbars-CJe_ZLjw.js +0 -1
  678. package/web-ui/build/static/http-D7SlABvQ.js +0 -1
  679. package/web-ui/build/static/http-DEUJqmEm.js +0 -1
  680. package/web-ui/build/static/hy-DVfsgEbr.js +0 -1
  681. package/web-ui/build/static/ichigojam-CPdz2bOt.js +0 -1
  682. package/web-ui/build/static/icon-DYK9RbU9.js +0 -1
  683. package/web-ui/build/static/icu-message-format-HiZB_alB.js +0 -1
  684. package/web-ui/build/static/idris-Clk3tJIE.js +0 -1
  685. package/web-ui/build/static/iecst-D7wkeksq.js +0 -1
  686. package/web-ui/build/static/ignore-GSm-L3jG.js +0 -1
  687. package/web-ui/build/static/index-BJe5td0v.js +0 -13
  688. package/web-ui/build/static/index-BYvljeMN.js +0 -1
  689. package/web-ui/build/static/index-CLelJq9j.js +0 -1156
  690. package/web-ui/build/static/index-f5UnFSsY.css +0 -1
  691. package/web-ui/build/static/inform7-D3gc0hSc.js +0 -1
  692. package/web-ui/build/static/inform7-DLdvZTxX.js +0 -1
  693. package/web-ui/build/static/ini-CVcWx1TA.js +0 -1
  694. package/web-ui/build/static/ini-CxYBdsvZ.js +0 -1
  695. package/web-ui/build/static/io-D760QF0i.js +0 -1
  696. package/web-ui/build/static/irpf90-DfkXdZut.js +0 -1
  697. package/web-ui/build/static/isbl-Bl3W-krY.js +0 -1
  698. package/web-ui/build/static/j-DyJj9FSc.js +0 -1
  699. package/web-ui/build/static/java-CLw1cH97.js +0 -1
  700. package/web-ui/build/static/java-vXaHBzP4.js +0 -1
  701. package/web-ui/build/static/javadoc-p5hIe48g.js +0 -1
  702. package/web-ui/build/static/javadoclike-OXi-sQ0q.js +0 -1
  703. package/web-ui/build/static/javascript-CTSqES8o.js +0 -1
  704. package/web-ui/build/static/javastacktrace-PC9-3moA.js +0 -1
  705. package/web-ui/build/static/jboss-cli-CxOZKDLi.js +0 -1
  706. package/web-ui/build/static/jexl-C4kSXhD1.js +0 -1
  707. package/web-ui/build/static/jolie-CntM8cWx.js +0 -1
  708. package/web-ui/build/static/jq-D_4bTCm0.js +0 -1
  709. package/web-ui/build/static/js-extras-Cx9VAZJd.js +0 -1
  710. package/web-ui/build/static/js-templates-BqyJUDxJ.js +0 -1
  711. package/web-ui/build/static/jsdoc-CNHLgAph.js +0 -1
  712. package/web-ui/build/static/json-BXIFrbVC.js +0 -1
  713. package/web-ui/build/static/json-DRUrJL_F.js +0 -1
  714. package/web-ui/build/static/json5-EsTrOpXr.js +0 -1
  715. package/web-ui/build/static/jsonp-RijEuTJY.js +0 -1
  716. package/web-ui/build/static/jsstacktrace-dM13uE1y.js +0 -1
  717. package/web-ui/build/static/jsx-Cf0j02DZ.js +0 -1
  718. package/web-ui/build/static/julia-BLrtj5Dj.js +0 -1
  719. package/web-ui/build/static/julia-D0PJgQhi.js +0 -1
  720. package/web-ui/build/static/julia-repl-BLnLCve4.js +0 -1
  721. package/web-ui/build/static/keepalived-SvzEYloD.js +0 -1
  722. package/web-ui/build/static/keyman-B5l2mmmE.js +0 -1
  723. package/web-ui/build/static/kotlin-B_6COR1e.js +0 -1
  724. package/web-ui/build/static/kotlin-vd1Xdz6D.js +0 -1
  725. package/web-ui/build/static/kumir-8mIZWgJQ.js +0 -1
  726. package/web-ui/build/static/kusto-CoV2oHqt.js +0 -1
  727. package/web-ui/build/static/lasso-BjjUNa_o.js +0 -1
  728. package/web-ui/build/static/latex-C9KOfuFk.js +0 -1
  729. package/web-ui/build/static/latex-DhLttY-I.js +0 -1
  730. package/web-ui/build/static/latte-CaYNaOoK.js +0 -1
  731. package/web-ui/build/static/ldif-DFxnpH3G.js +0 -1
  732. package/web-ui/build/static/leaf-DrMpC83a.js +0 -1
  733. package/web-ui/build/static/less-DUoYpEFn.js +0 -1
  734. package/web-ui/build/static/less-nh0XCcut.js +0 -1
  735. package/web-ui/build/static/lilypond-BlqjLr3W.js +0 -1
  736. package/web-ui/build/static/liquid-BVGHSG0T.js +0 -1
  737. package/web-ui/build/static/lisp-CEK8BtYQ.js +0 -1
  738. package/web-ui/build/static/lisp-D_jGHxhc.js +0 -1
  739. package/web-ui/build/static/livecodeserver-CFUDw_SK.js +0 -1
  740. package/web-ui/build/static/livescript-C5xzpiLM.js +0 -1
  741. package/web-ui/build/static/livescript-CKoPcK0c.js +0 -1
  742. package/web-ui/build/static/llvm-BBOVIeTl.js +0 -1
  743. package/web-ui/build/static/llvm-ioC5bCUB.js +0 -1
  744. package/web-ui/build/static/log-CPYTqm4T.js +0 -1
  745. package/web-ui/build/static/lolcode-BkT93adT.js +0 -1
  746. package/web-ui/build/static/lsl-M98YPNRW.js +0 -1
  747. package/web-ui/build/static/lua-D7Lum5n9.js +0 -1
  748. package/web-ui/build/static/lua-DHyr0QwE.js +0 -1
  749. package/web-ui/build/static/magma-BwMFjwQu.js +0 -1
  750. package/web-ui/build/static/makefile-BFYZ-SfG.js +0 -1
  751. package/web-ui/build/static/makefile-D6oyR2lD.js +0 -1
  752. package/web-ui/build/static/markdown-6jtg6KZm.js +0 -1
  753. package/web-ui/build/static/markdown-DTLtPgeP.js +0 -1
  754. package/web-ui/build/static/markup-templating-K8uoAIqY.js +0 -1
  755. package/web-ui/build/static/mathematica-cW5hOuB2.js +0 -1
  756. package/web-ui/build/static/matlab-CwSNWEq8.js +0 -1
  757. package/web-ui/build/static/matlab-MQ972BY-.js +0 -1
  758. package/web-ui/build/static/maxima-CMSFLri-.js +0 -1
  759. package/web-ui/build/static/maxscript-BzcoS2KA.js +0 -1
  760. package/web-ui/build/static/mel-Cd20pAs-.js +0 -1
  761. package/web-ui/build/static/mel-KWG5N49g.js +0 -1
  762. package/web-ui/build/static/mercury-eW1ljJh0.js +0 -1
  763. package/web-ui/build/static/mermaid-D3zeCM84.js +0 -1
  764. package/web-ui/build/static/mipsasm-B5g6Ndra.js +0 -1
  765. package/web-ui/build/static/mizar-C_nZ0Ts9.js +0 -1
  766. package/web-ui/build/static/mizar-CuTNEv2t.js +0 -1
  767. package/web-ui/build/static/mojolicious-C1Xq--lT.js +0 -1
  768. package/web-ui/build/static/mongodb-C_3giArw.js +0 -1
  769. package/web-ui/build/static/monkey-DQ1olPd-.js +0 -1
  770. package/web-ui/build/static/monkey-n4Tbrep7.js +0 -1
  771. package/web-ui/build/static/moonscript-CmnQJuIL.js +0 -1
  772. package/web-ui/build/static/moonscript-DXgmWjLy.js +0 -1
  773. package/web-ui/build/static/n1ql-531a3W-1.js +0 -1
  774. package/web-ui/build/static/n1ql-BYH9EvME.js +0 -1
  775. package/web-ui/build/static/n4js-Cy0LcM-V.js +0 -1
  776. package/web-ui/build/static/nand2tetris-hdl-CKOztBDD.js +0 -1
  777. package/web-ui/build/static/naniscript-oLFpxBGE.js +0 -1
  778. package/web-ui/build/static/nasm-DLPnwFkM.js +0 -1
  779. package/web-ui/build/static/neon-Cn03wGUR.js +0 -1
  780. package/web-ui/build/static/nevod-C_VRvbdf.js +0 -1
  781. package/web-ui/build/static/nginx-60SpLv4t.js +0 -1
  782. package/web-ui/build/static/nginx-DZLHid-q.js +0 -1
  783. package/web-ui/build/static/nim-BnrHdqGC.js +0 -1
  784. package/web-ui/build/static/nim-Ds3pmwtE.js +0 -1
  785. package/web-ui/build/static/nix-Dl-dS0w4.js +0 -1
  786. package/web-ui/build/static/nix-jL62FzTz.js +0 -1
  787. package/web-ui/build/static/node-repl-BAuDzNZd.js +0 -1
  788. package/web-ui/build/static/nsis-CEnFjfNr.js +0 -1
  789. package/web-ui/build/static/nsis-CcCz6HIu.js +0 -1
  790. package/web-ui/build/static/objectivec-CZXfVowS.js +0 -1
  791. package/web-ui/build/static/objectivec-CuaFU-Ef.js +0 -1
  792. package/web-ui/build/static/ocaml-BGAzfwAx.js +0 -1
  793. package/web-ui/build/static/ocaml-BoO1lU26.js +0 -1
  794. package/web-ui/build/static/opencl-DAnD5xP-.js +0 -1
  795. package/web-ui/build/static/openqasm-CO7gdVj9.js +0 -1
  796. package/web-ui/build/static/openscad-B2wMEMQR.js +0 -1
  797. package/web-ui/build/static/oxygene-1erv93gF.js +0 -1
  798. package/web-ui/build/static/oz-D3334gi7.js +0 -1
  799. package/web-ui/build/static/parigp-rQZTN8zi.js +0 -1
  800. package/web-ui/build/static/parser-B4ZSZ1ig.js +0 -1
  801. package/web-ui/build/static/parser3-CCCjkYLG.js +0 -1
  802. package/web-ui/build/static/pascal-DeC9Pvom.js +0 -1
  803. package/web-ui/build/static/pascaligo-CT2u6UpO.js +0 -1
  804. package/web-ui/build/static/pcaxis-CvlRg6t4.js +0 -1
  805. package/web-ui/build/static/peoplecode-BYahULz2.js +0 -1
  806. package/web-ui/build/static/perl-CKgvyY59.js +0 -1
  807. package/web-ui/build/static/perl-E7sx7Izv.js +0 -1
  808. package/web-ui/build/static/pf-D9wnFBt7.js +0 -1
  809. package/web-ui/build/static/pgsql-CrlBdRAn.js +0 -1
  810. package/web-ui/build/static/php-D2O-B3y7.js +0 -1
  811. package/web-ui/build/static/php-extras-BKqZuzgt.js +0 -1
  812. package/web-ui/build/static/php-nfXl9WfB.js +0 -1
  813. package/web-ui/build/static/php-template-Cg8ERLNQ.js +0 -1
  814. package/web-ui/build/static/phpdoc-Z1u90OwH.js +0 -1
  815. package/web-ui/build/static/plaintext-DkNVeXWx.js +0 -1
  816. package/web-ui/build/static/plsql-DO5fJNhS.js +0 -1
  817. package/web-ui/build/static/pony-DXIqq5Bk.js +0 -1
  818. package/web-ui/build/static/powerquery-B2ovxJZi.js +0 -1
  819. package/web-ui/build/static/powershell-BVeqqari.js +0 -1
  820. package/web-ui/build/static/powershell-CskV4qWh.js +0 -1
  821. package/web-ui/build/static/processing-D90SJpnq.js +0 -1
  822. package/web-ui/build/static/processing-DP2mf97Z.js +0 -1
  823. package/web-ui/build/static/profile-H6zk8v_f.js +0 -1
  824. package/web-ui/build/static/prolog-AUfxYiJV.js +0 -1
  825. package/web-ui/build/static/prolog-Dz2WdsVN.js +0 -1
  826. package/web-ui/build/static/promql-CloMJmMW.js +0 -1
  827. package/web-ui/build/static/properties-CTl3mnrP.js +0 -1
  828. package/web-ui/build/static/properties-D2RfteTZ.js +0 -1
  829. package/web-ui/build/static/protobuf-Be9oqQCu.js +0 -1
  830. package/web-ui/build/static/protobuf-BgG8zUnY.js +0 -1
  831. package/web-ui/build/static/psl-Bqx8iN9e.js +0 -1
  832. package/web-ui/build/static/pug-CHfFC0Wg.js +0 -1
  833. package/web-ui/build/static/puppet-__1ifzZS.js +0 -1
  834. package/web-ui/build/static/puppet-pbtRCMgd.js +0 -1
  835. package/web-ui/build/static/pure-B9STuf4F.js +0 -1
  836. package/web-ui/build/static/purebasic-7ADyn-Ce.js +0 -1
  837. package/web-ui/build/static/purebasic-Bc06YQcD.js +0 -1
  838. package/web-ui/build/static/purescript-CU-dDebr.js +0 -1
  839. package/web-ui/build/static/python-BEsXrEbi.js +0 -1
  840. package/web-ui/build/static/python-CZFrgH2X.js +0 -1
  841. package/web-ui/build/static/python-repl-CI9GmJce.js +0 -1
  842. package/web-ui/build/static/q-E7xvTGRo.js +0 -1
  843. package/web-ui/build/static/q-hvg9aQoY.js +0 -1
  844. package/web-ui/build/static/qml-DkZWcxEv.js +0 -1
  845. package/web-ui/build/static/qml-DpdWla8G.js +0 -1
  846. package/web-ui/build/static/qore-Dsm7ACR_.js +0 -1
  847. package/web-ui/build/static/qsharp-BBec6MJR.js +0 -1
  848. package/web-ui/build/static/r-CTVkq_Ky.js +0 -1
  849. package/web-ui/build/static/r-DHGNCupF.js +0 -1
  850. package/web-ui/build/static/racket-hoSh4YPx.js +0 -1
  851. package/web-ui/build/static/reason-CQPUIbsm.js +0 -1
  852. package/web-ui/build/static/reasonml-BXtFFSTZ.js +0 -1
  853. package/web-ui/build/static/regex-BNkF_ufb.js +0 -1
  854. package/web-ui/build/static/rego-BXHrjItC.js +0 -1
  855. package/web-ui/build/static/renpy-CBQvK_5t.js +0 -1
  856. package/web-ui/build/static/rest-Bf8hzmF1.js +0 -1
  857. package/web-ui/build/static/rib-D0a4KzlP.js +0 -1
  858. package/web-ui/build/static/rip-DchN4BQN.js +0 -1
  859. package/web-ui/build/static/roboconf-HXnyGNTm.js +0 -1
  860. package/web-ui/build/static/roboconf-zfK6mgmU.js +0 -1
  861. package/web-ui/build/static/robotframework-DnP-vXyd.js +0 -1
  862. package/web-ui/build/static/routeros-CDirYxZY.js +0 -1
  863. package/web-ui/build/static/rsl-BCK_msc-.js +0 -1
  864. package/web-ui/build/static/ruby--mXX6GNK.js +0 -1
  865. package/web-ui/build/static/ruby-BIdQYq0Y.js +0 -1
  866. package/web-ui/build/static/ruleslanguage-BD07s5RU.js +0 -1
  867. package/web-ui/build/static/rust-Bgni9V7U.js +0 -1
  868. package/web-ui/build/static/rust-OywmQ2ox.js +0 -1
  869. package/web-ui/build/static/sas-B6-82htH.js +0 -1
  870. package/web-ui/build/static/sas-k9XEScbR.js +0 -1
  871. package/web-ui/build/static/sass-BOvNBStT.js +0 -1
  872. package/web-ui/build/static/scala-At07fmMd.js +0 -1
  873. package/web-ui/build/static/scala-DUOfqSaU.js +0 -1
  874. package/web-ui/build/static/scheme-B87lC0bK.js +0 -1
  875. package/web-ui/build/static/scheme-BS7OzWRX.js +0 -1
  876. package/web-ui/build/static/scilab-Bmn4jjcu.js +0 -1
  877. package/web-ui/build/static/scss-DTeB95yE.js +0 -1
  878. package/web-ui/build/static/scss-xilnl6Dx.js +0 -1
  879. package/web-ui/build/static/shell-CKetyy4y.js +0 -1
  880. package/web-ui/build/static/shell-session-B6rat2c7.js +0 -1
  881. package/web-ui/build/static/smali-C9O9CXOD.js +0 -1
  882. package/web-ui/build/static/smali-CBkgbinS.js +0 -1
  883. package/web-ui/build/static/smalltalk-CuUjFHiz.js +0 -1
  884. package/web-ui/build/static/smalltalk-D0xhFL9b.js +0 -1
  885. package/web-ui/build/static/smarty-CY0N0d5x.js +0 -1
  886. package/web-ui/build/static/sml-BVAw3fjB.js +0 -1
  887. package/web-ui/build/static/sml-CO9XB1ax.js +0 -1
  888. package/web-ui/build/static/solidity-BNixD4Dx.js +0 -1
  889. package/web-ui/build/static/solution-file-DHyGXf2y.js +0 -1
  890. package/web-ui/build/static/soy-Cxgjntsl.js +0 -1
  891. package/web-ui/build/static/sparql-CDLqu9vy.js +0 -1
  892. package/web-ui/build/static/splunk-spl-Cmkl_Xmw.js +0 -1
  893. package/web-ui/build/static/sqf-CIGKolw3.js +0 -1
  894. package/web-ui/build/static/sqf-Cfp_lC6-.js +0 -1
  895. package/web-ui/build/static/sql-DHOGwYxe.js +0 -1
  896. package/web-ui/build/static/sql-QIw1Q2yi.js +0 -1
  897. package/web-ui/build/static/sql_more-C0b3-InT.js +0 -1
  898. package/web-ui/build/static/squirrel-DASToo1F.js +0 -1
  899. package/web-ui/build/static/stan-DHMkcFZg.js +0 -1
  900. package/web-ui/build/static/stan-No3nsdnQ.js +0 -1
  901. package/web-ui/build/static/stata-Brkzu5Nv.js +0 -1
  902. package/web-ui/build/static/step21-D2l5M5Ml.js +0 -1
  903. package/web-ui/build/static/stylus-Bx6FaZN_.js +0 -1
  904. package/web-ui/build/static/stylus-CVkTaPns.js +0 -1
  905. package/web-ui/build/static/subunit-CDrsAMuL.js +0 -1
  906. package/web-ui/build/static/swift-BSw_pS-l.js +0 -1
  907. package/web-ui/build/static/swift-BWyqwIo8.js +0 -1
  908. package/web-ui/build/static/systemd-BwqpYcJK.js +0 -1
  909. package/web-ui/build/static/t4-cs-CwsJLOxV.js +0 -1
  910. package/web-ui/build/static/t4-templating-BfxY01xf.js +0 -1
  911. package/web-ui/build/static/t4-vb-BhsKKFhp.js +0 -1
  912. package/web-ui/build/static/taggerscript-Bkew95or.js +0 -1
  913. package/web-ui/build/static/tap-DHovcHbS.js +0 -1
  914. package/web-ui/build/static/tap-DPl9uPo4.js +0 -1
  915. package/web-ui/build/static/tcl-BeozHO-f.js +0 -1
  916. package/web-ui/build/static/tcl-Df_8ItQH.js +0 -1
  917. package/web-ui/build/static/textile-B3m_f58b.js +0 -1
  918. package/web-ui/build/static/thrift-D20n-HpW.js +0 -1
  919. package/web-ui/build/static/toml-C-fTAonK.js +0 -1
  920. package/web-ui/build/static/tp-hGbXe5Eo.js +0 -1
  921. package/web-ui/build/static/tremor-BaVOtRFz.js +0 -1
  922. package/web-ui/build/static/tsx-ChPInNl0.js +0 -1
  923. package/web-ui/build/static/tt2-DAIJ8cpz.js +0 -1
  924. package/web-ui/build/static/turtle-B7z_y-PK.js +0 -1
  925. package/web-ui/build/static/twig-TUEkve6W.js +0 -1
  926. package/web-ui/build/static/twig-stKDItz7.js +0 -1
  927. package/web-ui/build/static/typescript-BPdM-QOM.js +0 -1
  928. package/web-ui/build/static/typescript-DjSY4MvL.js +0 -1
  929. package/web-ui/build/static/typoscript-BQHgQtEL.js +0 -1
  930. package/web-ui/build/static/unrealscript-g8yNPQQ5.js +0 -1
  931. package/web-ui/build/static/uorazor-CnuMiQz9.js +0 -1
  932. package/web-ui/build/static/uri-CfioiemU.js +0 -1
  933. package/web-ui/build/static/v-B69Oau14.js +0 -1
  934. package/web-ui/build/static/vala-C0PjlK3l.js +0 -1
  935. package/web-ui/build/static/vala-COgjD3gU.js +0 -1
  936. package/web-ui/build/static/vbnet-CklOnyuR.js +0 -1
  937. package/web-ui/build/static/vbnet-MxHUC5Mz.js +0 -1
  938. package/web-ui/build/static/vbscript-BxQnA97w.js +0 -1
  939. package/web-ui/build/static/vbscript-html-DOtde7dD.js +0 -1
  940. package/web-ui/build/static/velocity-l8B9m66X.js +0 -1
  941. package/web-ui/build/static/verilog-DF6dF-Vp.js +0 -1
  942. package/web-ui/build/static/verilog-Dgb9SDRX.js +0 -1
  943. package/web-ui/build/static/vhdl-0GarU_AK.js +0 -1
  944. package/web-ui/build/static/vhdl-BfPQnOdI.js +0 -1
  945. package/web-ui/build/static/vim-Likg_-II.js +0 -1
  946. package/web-ui/build/static/vim-k53Sj7A3.js +0 -1
  947. package/web-ui/build/static/visual-basic-BNVZCzlV.js +0 -1
  948. package/web-ui/build/static/warpscript-BkLK5iuW.js +0 -1
  949. package/web-ui/build/static/wasm-CQhA1ece.js +0 -1
  950. package/web-ui/build/static/web-idl-DmNsI0kE.js +0 -1
  951. package/web-ui/build/static/wiki-B3z4pmra.js +0 -1
  952. package/web-ui/build/static/wolfram-Dsf21d_g.js +0 -1
  953. package/web-ui/build/static/wren-BZXZlzrL.js +0 -1
  954. package/web-ui/build/static/x86asm-DpWGZhJU.js +0 -1
  955. package/web-ui/build/static/xeora-8xPZN4DH.js +0 -1
  956. package/web-ui/build/static/xl-XkdWYMGl.js +0 -1
  957. package/web-ui/build/static/xml-BBdROEWt.js +0 -1
  958. package/web-ui/build/static/xml-doc-Cjs4OpTe.js +0 -1
  959. package/web-ui/build/static/xojo-nCen1FPx.js +0 -1
  960. package/web-ui/build/static/xquery-CBFkAxo1.js +0 -1
  961. package/web-ui/build/static/xquery-Dwsc1weX.js +0 -1
  962. package/web-ui/build/static/yaml-DzSAh6jl.js +0 -1
  963. package/web-ui/build/static/yaml-Lg8gnEUU.js +0 -1
  964. package/web-ui/build/static/yang-Bd-v2b0k.js +0 -1
  965. package/web-ui/build/static/zephir-wbJOizIa.js +0 -1
  966. package/web-ui/build/static/zig-Cz384XjE.js +0 -1
@@ -12,7 +12,15 @@
12
12
  * Run with: npm run test:e2e
13
13
  */
14
14
 
15
- import { describe, test, expect, beforeAll, afterAll } from '@jest/globals';
15
+ import { describe, test, expect, beforeAll, afterAll, jest } from '@jest/globals';
16
+
17
+ // Real-network tests against example.com / iana.org are inherently
18
+ // flaky on TCP / DNS / target-server hiccups. The contract under test
19
+ // is "the WebTool chain machinery works", not "example.com is always
20
+ // up", so we tolerate up to 2 retries before declaring failure.
21
+ // If a test fails 3 times in a row, that's a real signal worth
22
+ // investigating; transient flakes get absorbed silently.
23
+ jest.retryTimes(2, { logErrorsBeforeRetry: true });
16
24
  import os from 'os';
17
25
  import fs from 'fs';
18
26
 
@@ -1193,14 +1193,30 @@ If blocked (CAPTCHA, access denied), use stealthLevel: "maximum" (visible browse
1193
1193
  const fetchStatus = fetchResponse ? fetchResponse.status() : null;
1194
1194
 
1195
1195
  if (fetchStatus && fetchStatus >= 400) {
1196
+ // A page that returned 4xx/5xx did NOT give the agent what it
1197
+ // asked for. We used to return `success: true` here on the
1198
+ // theory that "the fetch itself executed"; downstream agents
1199
+ // then ignored the warning and treated the error page as
1200
+ // content. Switching to `success: false` matches the rest of
1201
+ // the tool contract (operation either achieved its purpose
1202
+ // or it didn't) AND surfaces the diagnostic via the standard
1203
+ // `error` field that callers already inspect.
1204
+ const reason =
1205
+ fetchStatus >= 500 ? 'server error' :
1206
+ fetchStatus === 404 ? 'page not found' :
1207
+ fetchStatus === 403 ? 'access forbidden' :
1208
+ fetchStatus === 401 ? 'authentication required' :
1209
+ 'client error';
1196
1210
  const errorResult = {
1197
- success: true, // Fetch itself executed — page returned error status
1211
+ success: false,
1198
1212
  url,
1199
1213
  httpStatus: fetchStatus,
1200
- diagnostic: `Page returned HTTP ${fetchStatus} (${fetchStatus >= 500 ? 'server error' : fetchStatus === 404 ? 'page not found' : fetchStatus === 403 ? 'access forbidden' : 'client error'})`,
1201
- warning: `HTTP ${fetchStatus} — the page loaded but returned an error status. Content may still be available.`
1214
+ error: `HTTP ${fetchStatus}: ${reason}`,
1215
+ diagnostic: `Page returned HTTP ${fetchStatus} (${reason})`,
1216
+ warning: `HTTP ${fetchStatus} — the page loaded but returned an error status. Content may still be available.`,
1202
1217
  };
1203
- // Still try to get title for context
1218
+ // Still try to get title for context — error pages often have
1219
+ // useful titles like "404 - Not Found".
1204
1220
  try { errorResult.title = await page.title(); } catch {}
1205
1221
  // Don't close page here — finally block handles it
1206
1222
  return errorResult;
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Tests for the shared cipher primitives used by both
3
+ * `services/apiKeyManager.js` (api-keys.enc) and
4
+ * `services/authCacheStore.js` (auth-cache.enc).
5
+ *
6
+ * Covers:
7
+ * - key derivation: persistence across calls, identity vs different salts
8
+ * - round-trip: encrypt then decrypt returns the original
9
+ * - constants stability: KEY_DERIVATION_DOMAIN is part of the on-disk
10
+ * contract and must not change without a migration
11
+ */
12
+
13
+ import { describe, test, expect, beforeEach, afterEach } from '@jest/globals';
14
+ import { promises as fs } from 'fs';
15
+ import path from 'path';
16
+ import os from 'os';
17
+ import crypto from 'crypto';
18
+
19
+ import {
20
+ encrypt,
21
+ decrypt,
22
+ getOrCreateEncryptionKey,
23
+ KEY_DERIVATION_DOMAIN,
24
+ SALT_FILENAME,
25
+ SALT_LENGTH,
26
+ KEY_LENGTH,
27
+ } from '../secretsCipher.js';
28
+
29
+ const tmpDir = path.join(os.tmpdir(), 'secretsCipher-test-' + crypto.randomBytes(6).toString('hex'));
30
+
31
+ beforeEach(async () => { await fs.mkdir(tmpDir, { recursive: true }); });
32
+ afterEach(async () => { try { await fs.rm(tmpDir, { recursive: true, force: true }); } catch { /* ok */ } });
33
+
34
+ describe('secretsCipher', () => {
35
+ test('KEY_DERIVATION_DOMAIN is the documented value — changing this invalidates all stored credentials', () => {
36
+ // Tripwire: this constant is part of the on-disk contract.
37
+ // If you intentionally need to rotate it, also write a migration.
38
+ expect(KEY_DERIVATION_DOMAIN).toBe('loxia-api-key-encryption-v1');
39
+ });
40
+
41
+ test('getOrCreateEncryptionKey creates a salt file on first call', async () => {
42
+ await getOrCreateEncryptionKey(tmpDir, null);
43
+ const saltFile = path.join(tmpDir, SALT_FILENAME);
44
+ const buf = await fs.readFile(saltFile);
45
+ expect(buf.length).toBe(SALT_LENGTH);
46
+ });
47
+
48
+ test('getOrCreateEncryptionKey reuses the existing salt on subsequent calls', async () => {
49
+ const key1 = await getOrCreateEncryptionKey(tmpDir, null);
50
+ const key2 = await getOrCreateEncryptionKey(tmpDir, null);
51
+ expect(key1.equals(key2)).toBe(true);
52
+ expect(key1.length).toBe(KEY_LENGTH);
53
+ });
54
+
55
+ test('different salt directories yield different keys', async () => {
56
+ const dirA = path.join(tmpDir, 'a');
57
+ const dirB = path.join(tmpDir, 'b');
58
+ await fs.mkdir(dirA); await fs.mkdir(dirB);
59
+ const keyA = await getOrCreateEncryptionKey(dirA, null);
60
+ const keyB = await getOrCreateEncryptionKey(dirB, null);
61
+ expect(keyA.equals(keyB)).toBe(false);
62
+ });
63
+
64
+ test('encrypt then decrypt round-trips the plaintext', async () => {
65
+ const key = await getOrCreateEncryptionKey(tmpDir, null);
66
+ const plaintext = JSON.stringify({ jwt: 'eyJ.test.jwt', user: { id: 'u-1' } });
67
+ const ct = encrypt(plaintext, key);
68
+ expect(typeof ct).toBe('string');
69
+ expect(ct).not.toContain('eyJ'); // not plaintext
70
+ expect(decrypt(ct, key)).toBe(plaintext);
71
+ });
72
+
73
+ test('encrypt produces different ciphertext each call (random IV)', async () => {
74
+ const key = await getOrCreateEncryptionKey(tmpDir, null);
75
+ const ct1 = encrypt('same', key);
76
+ const ct2 = encrypt('same', key);
77
+ expect(ct1).not.toBe(ct2);
78
+ });
79
+
80
+ test('decrypt throws with a clear message when no key supplied', () => {
81
+ expect(() => decrypt('anything', null)).toThrow('Encryption key not initialized');
82
+ });
83
+
84
+ test('encrypt throws with a clear message when no key supplied', () => {
85
+ expect(() => encrypt('anything', null)).toThrow('Encryption key not initialized');
86
+ });
87
+
88
+ test('decrypt fails on tampered ciphertext (GCM authTag check)', async () => {
89
+ const key = await getOrCreateEncryptionKey(tmpDir, null);
90
+ const ct = encrypt('payload', key);
91
+ // Flip a byte in the middle of the buffer
92
+ const buf = Buffer.from(ct, 'base64');
93
+ buf[Math.floor(buf.length / 2)] ^= 0xff;
94
+ const tampered = buf.toString('base64');
95
+ expect(() => decrypt(tampered, key)).toThrow();
96
+ });
97
+ });
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Tests for src/utilities/updateNotifier.js — the CLI banner wrapper.
3
+ *
4
+ * The helper has four kill-switch paths and two normal paths. We
5
+ * test each so a regression doesn't either spam users or silently
6
+ * stop checking.
7
+ */
8
+
9
+ import { describe, test, expect, jest } from '@jest/globals';
10
+ import {
11
+ runUpdateCheck,
12
+ isUpdateCheckDisabled,
13
+ loadPackageJson,
14
+ } from '../updateNotifier.js';
15
+
16
+ describe('isUpdateCheckDisabled', () => {
17
+ test('returns false on an empty env', () => {
18
+ expect(isUpdateCheckDisabled({})).toBe(false);
19
+ });
20
+
21
+ test('honors LOXIA_DISABLE_UPDATE_CHECK', () => {
22
+ expect(isUpdateCheckDisabled({ LOXIA_DISABLE_UPDATE_CHECK: '1' })).toBe(true);
23
+ expect(isUpdateCheckDisabled({ LOXIA_DISABLE_UPDATE_CHECK: 'true' })).toBe(true);
24
+ });
25
+
26
+ test('honors NO_UPDATE_NOTIFIER (package convention)', () => {
27
+ expect(isUpdateCheckDisabled({ NO_UPDATE_NOTIFIER: '1' })).toBe(true);
28
+ });
29
+
30
+ test('honors CI=true (avoids banner in pipelines)', () => {
31
+ expect(isUpdateCheckDisabled({ CI: 'true' })).toBe(true);
32
+ });
33
+
34
+ test('treats "0" and "false" as not-disabled (escape hatch for misuse)', () => {
35
+ expect(isUpdateCheckDisabled({ LOXIA_DISABLE_UPDATE_CHECK: '0' })).toBe(false);
36
+ expect(isUpdateCheckDisabled({ LOXIA_DISABLE_UPDATE_CHECK: 'false' })).toBe(false);
37
+ });
38
+ });
39
+
40
+ describe('loadPackageJson', () => {
41
+ test('finds the CLI package.json by walking up from a starting dir', () => {
42
+ // The helper looks for a pkg.json with `bin` OR `@loxia-labs/` name —
43
+ // both true of this repo's root pkg.json.
44
+ const pkg = loadPackageJson();
45
+ expect(pkg).not.toBeNull();
46
+ expect(pkg.name).toMatch(/loxia/i);
47
+ expect(typeof pkg.version).toBe('string');
48
+ });
49
+
50
+ test('returns null when no qualifying package.json exists in the chain', () => {
51
+ // Inject a stub that always returns ENOENT.
52
+ const fs = {
53
+ readFileSync: () => { throw Object.assign(new Error('nope'), { code: 'ENOENT' }); },
54
+ };
55
+ expect(loadPackageJson({ startDir: '/tmp', fs })).toBeNull();
56
+ });
57
+ });
58
+
59
+ describe('runUpdateCheck — kill-switches', () => {
60
+ test('returns null when disabled by env', async () => {
61
+ const importImpl = jest.fn();
62
+ const r = await runUpdateCheck({
63
+ env: { LOXIA_DISABLE_UPDATE_CHECK: '1' },
64
+ pkg: { name: 'x', version: '1.0.0' },
65
+ importImpl,
66
+ });
67
+ expect(r).toBeNull();
68
+ expect(importImpl).not.toHaveBeenCalled();
69
+ });
70
+
71
+ test('returns null when pkg.json could not be loaded', async () => {
72
+ const importImpl = jest.fn();
73
+ const r = await runUpdateCheck({
74
+ env: {},
75
+ pkg: null,
76
+ importImpl,
77
+ });
78
+ expect(r).toBeNull();
79
+ expect(importImpl).not.toHaveBeenCalled();
80
+ });
81
+ });
82
+
83
+ describe('runUpdateCheck — dependency tolerance', () => {
84
+ test('returns null when update-notifier is not installed', async () => {
85
+ const importImpl = jest.fn().mockRejectedValue(new Error('Cannot find module'));
86
+ const r = await runUpdateCheck({
87
+ env: {},
88
+ pkg: { name: 'x', version: '1.0.0' },
89
+ importImpl,
90
+ });
91
+ expect(r).toBeNull();
92
+ });
93
+
94
+ test('returns null when the module exists but has the wrong shape', async () => {
95
+ const importImpl = jest.fn().mockResolvedValue({ /* no default, no callable */ });
96
+ const r = await runUpdateCheck({
97
+ env: {},
98
+ pkg: { name: 'x', version: '1.0.0' },
99
+ importImpl,
100
+ });
101
+ expect(r).toBeNull();
102
+ });
103
+ });
104
+
105
+ describe('runUpdateCheck — happy path', () => {
106
+ test('invokes update-notifier with the supplied pkg and calls notify()', async () => {
107
+ const notifyMock = jest.fn();
108
+ const updateNotifierFn = jest.fn().mockReturnValue({ notify: notifyMock });
109
+ const importImpl = jest.fn().mockResolvedValue({ default: updateNotifierFn });
110
+
111
+ const pkg = { name: '@loxia-labs/loxia-autopilot-one', version: '4.6.4' };
112
+ const result = await runUpdateCheck({ env: {}, pkg, importImpl });
113
+
114
+ expect(result).toEqual({ notify: notifyMock });
115
+ expect(updateNotifierFn).toHaveBeenCalledTimes(1);
116
+ const call = updateNotifierFn.mock.calls[0][0];
117
+ expect(call.pkg).toBe(pkg);
118
+ expect(typeof call.updateCheckInterval).toBe('number');
119
+ expect(notifyMock).toHaveBeenCalledTimes(1);
120
+
121
+ const notifyOpts = notifyMock.mock.calls[0][0];
122
+ expect(notifyOpts.isGlobal).toBe(true);
123
+ expect(notifyOpts.message).toContain('{packageName}');
124
+ });
125
+
126
+ test('a throwing notifier does not surface — returns null', async () => {
127
+ const updateNotifierFn = jest.fn().mockImplementation(() => { throw new Error('boom'); });
128
+ const importImpl = jest.fn().mockResolvedValue({ default: updateNotifierFn });
129
+ const logger = { debug: jest.fn() };
130
+ const r = await runUpdateCheck({
131
+ env: {},
132
+ pkg: { name: 'x', version: '1.0.0' },
133
+ importImpl,
134
+ logger,
135
+ });
136
+ expect(r).toBeNull();
137
+ expect(logger.debug).toHaveBeenCalled();
138
+ });
139
+ });
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Shared encryption primitives for at-rest credential storage.
3
+ *
4
+ * Used by:
5
+ * - services/apiKeyManager.js (api-keys.enc)
6
+ * - services/authCacheStore.js (auth-cache.enc)
7
+ *
8
+ * Both stores derive the same machine-specific AES-256-GCM key from a
9
+ * persistent salt at `<userDataDir>/.key-salt` plus os-derived data.
10
+ * Sharing the cipher primitives keeps the byte layout consistent and
11
+ * means a single review covers credential-at-rest for the whole app.
12
+ *
13
+ * On-disk format (per ciphertext, base64-encoded):
14
+ * [ IV (16B) | authTag (16B) | ciphertext (variable) ]
15
+ *
16
+ * KEY_DERIVATION_DOMAIN must stay constant — changing it invalidates
17
+ * every existing `api-keys.enc` on every user's machine.
18
+ */
19
+
20
+ import crypto from 'crypto';
21
+ import os from 'os';
22
+ import path from 'path';
23
+ import { promises as fs } from 'fs';
24
+
25
+ export const ALGORITHM = 'aes-256-gcm';
26
+ export const KEY_LENGTH = 32; // 256 bits
27
+ export const IV_LENGTH = 16;
28
+ export const AUTH_TAG_LENGTH = 16;
29
+ export const SALT_LENGTH = 32;
30
+ export const PBKDF2_ITERATIONS = 100000;
31
+ export const SALT_FILENAME = '.key-salt';
32
+
33
+ /**
34
+ * Domain-separation string mixed into the key derivation input. Must
35
+ * not change without a migration — existing on-disk files would
36
+ * become undecryptable.
37
+ */
38
+ export const KEY_DERIVATION_DOMAIN = 'loxia-api-key-encryption-v1';
39
+
40
+ /**
41
+ * Read or create the per-machine salt and derive the AES key from it
42
+ * combined with stable machine identifiers.
43
+ *
44
+ * @param {string} settingsDir - directory holding `.key-salt`
45
+ * @param {Object} [logger]
46
+ * @returns {Promise<Buffer>} 32-byte AES key
47
+ */
48
+ export async function getOrCreateEncryptionKey(settingsDir, logger) {
49
+ const saltFile = path.join(settingsDir, SALT_FILENAME);
50
+ let salt;
51
+ try {
52
+ salt = await fs.readFile(saltFile);
53
+ } catch {
54
+ salt = crypto.randomBytes(SALT_LENGTH);
55
+ await fs.writeFile(saltFile, salt, { mode: 0o600 });
56
+ logger?.info?.('[secretsCipher] Generated new encryption salt');
57
+ }
58
+
59
+ const machineData = [
60
+ os.hostname(),
61
+ os.homedir(),
62
+ os.userInfo().username,
63
+ process.platform,
64
+ KEY_DERIVATION_DOMAIN,
65
+ ].join(':');
66
+
67
+ return crypto.pbkdf2Sync(machineData, salt, PBKDF2_ITERATIONS, KEY_LENGTH, 'sha256');
68
+ }
69
+
70
+ /**
71
+ * Encrypt a UTF-8 plaintext to a base64 string carrying IV+authTag.
72
+ *
73
+ * @param {string} plaintext
74
+ * @param {Buffer} encryptionKey
75
+ * @returns {string} base64
76
+ */
77
+ export function encrypt(plaintext, encryptionKey) {
78
+ if (!encryptionKey) throw new Error('Encryption key not initialized');
79
+
80
+ const iv = crypto.randomBytes(IV_LENGTH);
81
+ const cipher = crypto.createCipheriv(ALGORITHM, encryptionKey, iv);
82
+
83
+ let encrypted = cipher.update(plaintext, 'utf8', 'base64');
84
+ encrypted += cipher.final('base64');
85
+
86
+ const authTag = cipher.getAuthTag();
87
+ const combined = Buffer.concat([
88
+ iv,
89
+ authTag,
90
+ Buffer.from(encrypted, 'base64'),
91
+ ]);
92
+ return combined.toString('base64');
93
+ }
94
+
95
+ /**
96
+ * Decrypt a base64 IV+authTag+ciphertext blob back to UTF-8.
97
+ *
98
+ * @param {string} encryptedData base64
99
+ * @param {Buffer} encryptionKey
100
+ * @returns {string} plaintext
101
+ */
102
+ export function decrypt(encryptedData, encryptionKey) {
103
+ if (!encryptionKey) throw new Error('Encryption key not initialized');
104
+
105
+ const combined = Buffer.from(encryptedData, 'base64');
106
+ const iv = combined.subarray(0, IV_LENGTH);
107
+ const authTag = combined.subarray(IV_LENGTH, IV_LENGTH + AUTH_TAG_LENGTH);
108
+ const encrypted = combined.subarray(IV_LENGTH + AUTH_TAG_LENGTH);
109
+
110
+ const decipher = crypto.createDecipheriv(ALGORITHM, encryptionKey, iv);
111
+ decipher.setAuthTag(authTag);
112
+
113
+ let decrypted = decipher.update(encrypted.toString('base64'), 'base64', 'utf8');
114
+ decrypted += decipher.final('utf8');
115
+ return decrypted;
116
+ }
@@ -0,0 +1,140 @@
1
+ /**
2
+ * npm CLI update notifier — thin wrapper around `update-notifier`.
3
+ *
4
+ * Shows a non-blocking banner on CLI startup when a newer version of
5
+ * the published package is available on the npm registry. User stays
6
+ * in control: the CLI never auto-installs anything.
7
+ *
8
+ * Brand awareness:
9
+ * The CLI ships under two brand-specific package names
10
+ * (`@loxia-labs/loxia-autopilot-one`, `@loxia-labs/loxia-onbuzz`).
11
+ * `update-notifier` reads the package name from the runtime
12
+ * package.json so each brand's notifier checks the right registry
13
+ * entry automatically.
14
+ *
15
+ * Kill-switch:
16
+ * - LOXIA_DISABLE_UPDATE_CHECK=1 — our env var (preferred)
17
+ * - NO_UPDATE_NOTIFIER=1 — package's own opt-out
18
+ * - CI=true — most CIs set this; we honour it
19
+ *
20
+ * Dependency tolerance:
21
+ * `update-notifier` is dynamically imported. If the package isn't
22
+ * installed (e.g. dev tree without `npm install`), the function is
23
+ * a silent no-op — the CLI MUST still boot.
24
+ *
25
+ * Network tolerance:
26
+ * The check is a background fetch with cached result. We never await
27
+ * the network — `update-notifier` schedules a child-process fetch
28
+ * and writes the result to ~/.config/configstore for the NEXT run.
29
+ * That means: the FIRST time a user is offline, no banner. Subsequent
30
+ * runs use the cached version-comparison until the next check window.
31
+ */
32
+
33
+ import { readFileSync } from 'fs';
34
+ import { dirname, join } from 'path';
35
+ import { fileURLToPath } from 'url';
36
+
37
+ /**
38
+ * Env vars that disable the check. All are case-sensitive string
39
+ * comparisons against `'1'` / `'true'` to match common conventions.
40
+ */
41
+ const DISABLE_ENVS = Object.freeze([
42
+ 'LOXIA_DISABLE_UPDATE_CHECK',
43
+ 'NO_UPDATE_NOTIFIER',
44
+ 'CI', // standard CI marker
45
+ ]);
46
+
47
+ /** How often update-notifier should re-check the npm registry. */
48
+ const UPDATE_CHECK_INTERVAL_MS = 1000 * 60 * 60 * 24; // 24h
49
+
50
+ /**
51
+ * @returns {boolean} true if any kill-switch env is set truthy.
52
+ */
53
+ export function isUpdateCheckDisabled(env = process.env) {
54
+ for (const key of DISABLE_ENVS) {
55
+ const v = env[key];
56
+ if (v && v !== '0' && v.toLowerCase() !== 'false') return true;
57
+ }
58
+ return false;
59
+ }
60
+
61
+ /**
62
+ * Load the package.json this CLI is running from (the installed one,
63
+ * not the one in src/utilities of a dev tree). Returned object always
64
+ * has at least `name` and `version`.
65
+ *
66
+ * @returns {{ name: string, version: string } | null}
67
+ */
68
+ export function loadPackageJson({
69
+ startDir = dirname(fileURLToPath(import.meta.url)),
70
+ fs = { readFileSync },
71
+ } = {}) {
72
+ // Walk up from this file looking for package.json with a `bin`
73
+ // entry — that's the published CLI package, not a nested dep.
74
+ let dir = startDir;
75
+ const ROOT_LIMIT = 8;
76
+ for (let i = 0; i < ROOT_LIMIT; i++) {
77
+ try {
78
+ const raw = fs.readFileSync(join(dir, 'package.json'), 'utf8');
79
+ const pkg = JSON.parse(raw);
80
+ if (pkg.bin || pkg.name?.startsWith('@loxia-labs/')) {
81
+ return { name: pkg.name, version: pkg.version };
82
+ }
83
+ } catch { /* keep walking */ }
84
+ const parent = dirname(dir);
85
+ if (parent === dir) break;
86
+ dir = parent;
87
+ }
88
+ return null;
89
+ }
90
+
91
+ /**
92
+ * Run the update check and (if a newer version is on the registry)
93
+ * print a banner. Never throws. Never blocks. Safe to call exactly
94
+ * once at CLI entry.
95
+ *
96
+ * Returns the underlying notifier instance for tests, or null when
97
+ * disabled / package missing / pkg.json unreadable.
98
+ */
99
+ export async function runUpdateCheck({
100
+ env = process.env,
101
+ pkg = loadPackageJson(),
102
+ importImpl = (specifier) => import(specifier),
103
+ logger = console,
104
+ } = {}) {
105
+ if (isUpdateCheckDisabled(env)) return null;
106
+ if (!pkg) return null;
107
+
108
+ let mod;
109
+ try {
110
+ mod = await importImpl('update-notifier');
111
+ } catch {
112
+ // Package not installed in this tree. Silent no-op.
113
+ return null;
114
+ }
115
+
116
+ const updateNotifier = mod.default || mod;
117
+ if (typeof updateNotifier !== 'function') return null;
118
+
119
+ try {
120
+ const notifier = updateNotifier({
121
+ pkg,
122
+ updateCheckInterval: UPDATE_CHECK_INTERVAL_MS,
123
+ shouldNotifyInNpmScript: false,
124
+ });
125
+ // notify() is itself a no-op when there's no update; safe to call
126
+ // unconditionally.
127
+ notifier.notify?.({
128
+ defer: false, // print before the CLI does its work
129
+ isGlobal: true, // CLI ships as a global binary
130
+ message:
131
+ `Update available {currentVersion} → {latestVersion}\n` +
132
+ `Run \`npm i -g {packageName}\` to update.`,
133
+ });
134
+ return notifier;
135
+ } catch (err) {
136
+ // Any failure (network, configstore write, etc.) is non-fatal.
137
+ logger?.debug?.('[updateNotifier] check skipped:', err.message);
138
+ return null;
139
+ }
140
+ }
@@ -6,8 +6,8 @@
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>Loxia Autopilot One</title>
8
8
  <meta name="description" content="AI Agents System - No-code/vibe-code/companion-coder platform" />
9
- <script type="module" crossorigin src="/static/index-CLelJq9j.js"></script>
10
- <link rel="stylesheet" crossorigin href="/static/index-f5UnFSsY.css">
9
+ <script type="module" crossorigin src="/static/index-DqCutaVi.js"></script>
10
+ <link rel="stylesheet" crossorigin href="/static/index-Cm1gK3R7.css">
11
11
  </head>
12
12
  <body>
13
13
  <div id="root"></div>
@@ -0,0 +1 @@
1
+ import{g as f}from"./index-DqCutaVi.js";import{r as s}from"./index-D6blIL5t.js";function i(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const c=Object.getOwnPropertyDescriptor(e,r);c&&Object.defineProperty(t,r,c.get?c:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var a=s();const p=f(a),l=i({__proto__:null,default:p},[a]);export{l as _};
@@ -0,0 +1 @@
1
+ import{g as s,r as f}from"./index-DqCutaVi.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var p=f();const i=s(p),b=c({__proto__:null,default:i},[p]);export{b as a};
@@ -0,0 +1 @@
1
+ import{g as s,d as c}from"./index-DqCutaVi.js";function i(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const n=Object.getOwnPropertyDescriptor(e,r);n&&Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f=c();const p=s(f),b=i({__proto__:null,default:p},[f]);export{b as a};
@@ -0,0 +1 @@
1
+ import{g as s}from"./index-DqCutaVi.js";import{a as i}from"./index-D6blIL5t.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f=i();const p=s(f),g=c({__proto__:null,default:p},[f]);export{g as a};
@@ -0,0 +1 @@
1
+ import{g as n}from"./index-DqCutaVi.js";import{b as f}from"./index-D6blIL5t.js";function g(t,c){for(var o=0;o<c.length;o++){const e=c[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const s=Object.getOwnPropertyDescriptor(e,r);s&&Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var a=f();const l=n(a),u=g({__proto__:null,default:l},[a]);export{u as a};
@@ -0,0 +1 @@
1
+ import{g as a}from"./index-DqCutaVi.js";import{c as s}from"./index-D6blIL5t.js";function p(r,i){for(var o=0;o<i.length;o++){const t=i[o];if(typeof t!="string"&&!Array.isArray(t)){for(const e in t)if(e!=="default"&&!(e in r)){const c=Object.getOwnPropertyDescriptor(t,e);c&&Object.defineProperty(r,e,c.get?c:{enumerable:!0,get:()=>t[e]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var n=s();const f=a(n),l=p({__proto__:null,default:f},[n]);export{l as a};
@@ -0,0 +1 @@
1
+ import{g as a,e as s}from"./index-DqCutaVi.js";function p(r,i){for(var o=0;o<i.length;o++){const t=i[o];if(typeof t!="string"&&!Array.isArray(t)){for(const e in t)if(e!=="default"&&!(e in r)){const c=Object.getOwnPropertyDescriptor(t,e);c&&Object.defineProperty(r,e,c.get?c:{enumerable:!0,get:()=>t[e]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var n=s();const f=a(n),g=p({__proto__:null,default:f},[n]);export{g as a};
@@ -0,0 +1 @@
1
+ import{g as s}from"./index-DqCutaVi.js";import{d as i}from"./index-D6blIL5t.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f=i();const p=s(f),g=c({__proto__:null,default:p},[f]);export{g as a};
@@ -0,0 +1 @@
1
+ import{g as s,f as c}from"./index-DqCutaVi.js";function i(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f=c();const p=s(f),d=i({__proto__:null,default:p},[f]);export{d as a};
@@ -0,0 +1 @@
1
+ import{g as f,h as g}from"./index-DqCutaVi.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s=g();const i=f(s),u=c({__proto__:null,default:i},[s]);export{u as a};
@@ -0,0 +1 @@
1
+ import{g as f,k as l}from"./index-DqCutaVi.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s=l();const i=f(s),u=c({__proto__:null,default:i},[s]);export{u as a};
@@ -0,0 +1 @@
1
+ import{g as i}from"./index-DqCutaVi.js";import{e as c}from"./index-D6blIL5t.js";function p(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const n=Object.getOwnPropertyDescriptor(e,r);n&&Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s=c();const f=i(s),u=p({__proto__:null,default:f},[s]);export{u as a};
@@ -0,0 +1 @@
1
+ import{g as s,l as f}from"./index-DqCutaVi.js";function c(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const n=Object.getOwnPropertyDescriptor(e,r);n&&Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var l=f();const i=s(l),u=c({__proto__:null,default:i},[l]);export{u as a};
@@ -0,0 +1 @@
1
+ import{g as n}from"./index-DqCutaVi.js";import{f as p}from"./index-D6blIL5t.js";function s(t,c){for(var o=0;o<c.length;o++){const e=c[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var f=p();const i=n(f),l=s({__proto__:null,default:i},[f]);export{l as a};
@@ -0,0 +1 @@
1
+ import{g as f,n as p}from"./index-DqCutaVi.js";function s(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var c=p();const i=f(c),g=s({__proto__:null,default:i},[c]);export{g as a};
@@ -0,0 +1 @@
1
+ import{g as s,o as f}from"./index-DqCutaVi.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var p=f();const i=s(p),g=c({__proto__:null,default:i},[p]);export{g as a};
@@ -0,0 +1 @@
1
+ import{g as s,p as f}from"./index-DqCutaVi.js";function l(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var p=f();const c=s(p),u=l({__proto__:null,default:c},[p]);export{u as a};
@@ -0,0 +1 @@
1
+ import{g as c,q as i}from"./index-DqCutaVi.js";function n(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const p=Object.getOwnPropertyDescriptor(e,r);p&&Object.defineProperty(t,r,p.get?p:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s=i();const f=c(s),u=n({__proto__:null,default:f},[s]);export{u as a};
@@ -0,0 +1 @@
1
+ import{g as i}from"./index-DqCutaVi.js";import{g as c}from"./index-D6blIL5t.js";function n(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const p=Object.getOwnPropertyDescriptor(e,r);p&&Object.defineProperty(t,r,p.get?p:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s=c();const f=i(s),u=n({__proto__:null,default:f},[s]);export{u as a};
@@ -0,0 +1 @@
1
+ import{g as f,s as l}from"./index-DqCutaVi.js";function c(t,n){for(var o=0;o<n.length;o++){const e=n[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var s=l();const i=f(s),u=c({__proto__:null,default:i},[s]);export{u as a};
@@ -0,0 +1 @@
1
+ import{g as f}from"./index-DqCutaVi.js";import{h as s}from"./index-D6blIL5t.js";function i(t,c){for(var o=0;o<c.length;o++){const e=c[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const a=Object.getOwnPropertyDescriptor(e,r);a&&Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var n=s();const p=f(n),g=i({__proto__:null,default:p},[n]);export{g as a};
@@ -0,0 +1 @@
1
+ import{g as f}from"./index-DqCutaVi.js";import{i as s}from"./index-D6blIL5t.js";function u(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const n=Object.getOwnPropertyDescriptor(e,r);n&&Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var i=s();const c=f(i),g=u({__proto__:null,default:c},[i]);export{g as a};
@@ -0,0 +1 @@
1
+ import{g as s,t as u}from"./index-DqCutaVi.js";function f(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const n=Object.getOwnPropertyDescriptor(e,r);n&&Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var i=u();const c=s(i),d=f({__proto__:null,default:c},[i]);export{d as a};
@@ -0,0 +1 @@
1
+ import{g as s,u as c}from"./index-DqCutaVi.js";function i(t,a){for(var o=0;o<a.length;o++){const e=a[o];if(typeof e!="string"&&!Array.isArray(e)){for(const r in e)if(r!=="default"&&!(r in t)){const f=Object.getOwnPropertyDescriptor(e,r);f&&Object.defineProperty(t,r,f.get?f:{enumerable:!0,get:()=>e[r]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}var n=c();const u=s(n),g=i({__proto__:null,default:u},[n]);export{g as a};